Possible Duplicate:
Best way to prevent SQL Injection in PHP
我刚发现我的网站是无懈可击的。
因为它连接到一个数据库,并有如下功能:注册,更改密码,通知,等等。。。昏昏欲睡是很脆弱的。
为了使代码安全,我应该在代码中查找什么?
我是说,我做了一些调查,到处都是,每个人对安全都有不同的看法。
“使用PDO。”
“使用mysql_real_escape_字符串。”
“使用addslashes。”
我到底该找什么??
"$_POST" and "$_GET" variables??
"$_SESSION" variables?
SQL查询?
$sql = "select * from user";
$sql = "update user set user="new_user_name";
$sql = "insert into user (user) values ('userid')";
每种情况下我该怎么办?
求你了,帮我知道我要去什么地方。
谢谢您。
最佳答案
下面是制作安全的php应用程序要考虑的要点。
使用PDO或mysqli
不要相信任何投入。考虑每个变量,比如$POST、$GET、$COOKIE、$会话、$服务器,就好像它们被污染了一样。对这些变量使用适当的过滤度量。
为了避免XSS攻击,使用php的内置函数htmlenties,
将用户输入数据插入
数据库。
在PHP.INI中禁用Register Globals
在PHP.INI中禁用“允许url打开”
不允许用户输入超过要求的数据。验证输入到
允许最大字符数。同时验证每个字段
相关数据类型。
在开发期之后禁用错误报告。它可能会给
对黑客有用的数据库信息。
在发布表单时使用一次性令牌。如果令牌存在和匹配
表单帖子有效,否则无效。
使用参数化数据库查询
使用存储过程
你可以在谷歌上搜索每一个点以获取更多细节。
希望这有帮助
关于php - 安全防止SQL注入(inject)-PDO,mysqli ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11839523/