1
wdkwdkwdk 2014-03-26 10:59:40 +08:00 via Android
不一定啊,要看你有没有用来对数据库做操作
|
2
justfindu 2014-03-26 11:12:26 +08:00
不管什么语言都会这样吧~ 不做过滤~ 然后操作数据库~ 然后就没有然后了~
|
3
fsw90628 2014-03-26 11:13:33 +08:00
用 Prepared Statements 应该可以解决类似问题了。
http://php.net/manual/en/pdo.prepared-statements.php p.s. 好久不看,PHP 的官方文档界面更新了。 |
4
bearcat001 2014-03-26 11:47:09 +08:00 1
有句话叫:永远不要相信用户
所以对于所有可以输入或者修改的数据,一定进行严格过滤和判断。越早处理,可控性越高。 |
5
scusjs 2014-03-26 11:48:32 +08:00
最好都过滤一下,养成好的习惯
|
6
slixurd 2014-03-26 12:28:10 +08:00
参数绑定也是大部分数据库API都提供的.
在多次查询同一语句下效率高而且不会被SQL注入 但是如果查询次数少的话,参数绑定写起来麻烦而且没什么性能提升 |
7
Mutoo 2014-03-26 12:40:10 +08:00
不只是 POST 和 GET,request header 里面的任何一部分都有可能。只要你引用了来自用户的数据,都要小心,像 Cookies 就经常被忽视。
|
8
wvidc 2014-03-26 15:28:13 +08:00
这是一个很值得深究的问题
|
9
sneezry 2014-03-26 15:41:06 +08:00
有用User-Agent注入的例子呢。
|
10
davansy 2014-03-26 16:22:25 +08:00 1
不要相信任何用户输入的数据!
|
11
whuhacker 2014-03-26 18:28:26 +08:00
使用一个框架,让框架帮你做这些事情
|
12
tywtyw2002 2014-03-26 18:39:11 +08:00 via iPhone
如ajax调用。js做过一遍过滤,服务器还要去做一遍
|
13
sb 2014-03-26 18:55:58 +08:00
大二时老师说了一个词叫 数据清洗。
进来的所有数据都要清洗一下,不然会被恶意构造语句获取你的用户数据。 |
14
wwek 2014-03-26 19:11:26 +08:00
强烈建议 php操作数据库用 PDO
|
15
wwek 2014-03-26 19:12:47 +08:00
|
16
liuser 2014-03-27 01:42:44 +08:00
PDO 参数绑定就不错。
|
17
hiddenman 2014-03-27 11:22:51 +08:00
不管是POST,还是GET,都可以构造。
|