关于php mysql 防注入,我的思路,求指点

将POST或GET接收的参数进行字符串转换操作,将“'"`!()=-”等等符号前面加个斜杠变成“\'\"\`\!\(\)\=\-“,这样可以吗?... 将POST或GET接收的参数进行字符串转换操作,将“ ' " ` ! ( ) = - ”等等符号前面加个斜杠变成“ \' \" \` \! \( \) \= \- “,这样可以吗? 展开
 我来答
ywisax
2011-02-21 · 超过31用户采纳过TA的回答
知道答主
回答量:148
采纳率:0%
帮助的人:0
展开全部
一般思路就是这样。
但如果过滤太多字符,那你网站的正常使用也会受到很大影响。
php的addslashes()可以实现你所说的功能,但当你的SQL语句为$sql="select * from article where id=".$_GET['id'];时,过滤单引号什么的就不会起到什么作用。
再者,即使你的SQL语句换为$sql="select * from article where id='{$_GET['id']}'";也不见得保险。提交/t.php?id=%cf' or 1=1--%20也可以注入。具体可以百度一下双字节漏洞。
不过SQL注入也不是什么可怕的东西。例如对于要获取的数值数据,使用intval()过直接(int) $str;就可杜绝。对于字符变量就要注意了,要认真设置好数据库编码等等。
如果有好的编程习惯,注入什么的都不会怕滴。我也是php学习者,用php写了个博客www.fuxkit.com,欢迎来跟我交流^_^
wellaab
2011-02-21 · TA获得超过268个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:188万
展开全部
不允许含有引号等特殊符号
追问
您就给我说说我这样在出现的特殊符号前加个\可不可以嘛
追答
可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式