相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

为PHP密码保护哈希和盐

目前据说MD5部分不安全.考虑到这一点,我想知道用于密码保护的机制.

这个问题,"双重哈希"密码是否比仅仅哈希一次更安全? 建议多次散列可能是一个好主意,而如何实现单个文件的密码保护?建议使用盐.

我正在使用PHP.我想要一个安全快速的密码加密系统.散列密码一百万次可能更安全,但也更慢.如何在速度和安全性之间取得良好的平衡?另外,我更喜欢结果具有恒定数量的字符.

  1. 散列机制必须在PHP中可用
  2. 它必须是安全的
  3. 它可以使用盐(在这种情况下,所有的盐都同样好吗?有没有办法产生好的盐?)

另外,我应该在数据库中存储两个字段(例如,一个使用MD5,另一个使用SHA)?它会使它更安全或更不安全吗?

如果我不够清楚,我想知道使用哪种散列函数以及如何选择好的盐以便拥有安全和快速的密码保护机制.

相关问题并不完全涵盖我的问题:

PHP中的SHA和MD5有什么区别
简单密码加密
存储密钥的安全方法,asp.net的密码
如何在Tomcat 5.5中实现salted密码

php security passwords hash protection

1142
推荐指数
13
解决办法
21万
查看次数

mysql_real_escape_string()坏了吗?

有些人认为mysql_real_escape_string()有一些缺陷,即使正确使用也无法保护您的查询.
将一些化石制品作为证据.

所以,问题是:mysql [i] _real escape_string()是完全不可接受的吗?
或者是否仍然可以使用此函数来创建自己的预备语句?

请提供验证码.

php mysql sql-injection escaping prepared-statement

13
推荐指数
2
解决办法
7456
查看次数

如何安全地使用$ _GET?

我需要使用get函数从url中检索$ title变量.

$title=$_GET["title"];
Run Code Online (Sandbox Code Playgroud)

$ title稍后用于MySQL查询.

问题是如何确保安全?换句话说,如何中和通过URL发送的任何恶意代码.

php mysql security

0
推荐指数
1
解决办法
334
查看次数