更具安全性的addslashes_deep函数
更具安全性的addslashes_deep函数-by Sodoit
| 我们知道,ecshop的很多漏洞都是因为对变量的过滤不严格而导致mysql注入的,虽然在init.php文件里有对$_GET,$_GET,$_COOKIE,$_REQUEST用addslashes_deep进行处理,但是,分析addslashes_deep函数后我们就可以发现,该函数只处理数组的值,对数组的key是完全不作任何过滤的,这直接导致了漏洞。例如: http://bbs.honkwin.com/read-htm-tid-6174.html http://sebug.net/vulndb/20188/ 为此,我们应该重写addslashes_deep函数,下面是我的代码:
该函数对数组的值和key都进行了addslashes处理,并且根据需要,还可以进行htmlspecialchars过滤。在init.php文件里,应该这样调用: $_GET = addslashes_deep($_GET,true); $_POST = addslashes_deep($_POST,true); $_COOKIE = addslashes_deep($_COOKIE,true); $_REQUEST = addslashes_deep($_REQUEST,true); |
浙公网安备 33010602011771号