我正在开发一个庞大的Web应用程序,它非常依赖于使用$ _SERVER [php_self]和$ _SERVER [查询字符串] - 我知道这些是可怕的做法,但是客户端只关心它是否被修复为简短的术语,并相信我是巨大的,所以我必须找到一种方法来保护变量。一个例子是表单操作是php_self和查询字符串(如果已设置),因此很容易弄乱URL并发生一些XSS。所以我的超快速修复是循环$ _GET和htmlspecialchars他们,这不允许我知道的XSS(这不是很多) - 所以我想知道我还能做些什么来阻止他们被滥用?想法?
谢谢!
答案 0 :(得分:0)
数据是否存储在数据库中?下一个最可能的滥用形式是SQL注入攻击。将单引号转换为'应该使这更加困难。
当然,这是解决问题的错误方法。但是当你的房子着火时,有时你不会担心会有一点水损坏。
答案 1 :(得分:0)
你不能只使用以下内容:
$_SERVER['PHP_SELF'] = htmlentities($_SERVER['PHP_SELF'])
在某些全局包含() - ed文件?
如果可能,请在您的网络服务器中禁用PATHINFO。据我了解,这也将走得很远。
以下是一些可能有用的信息:http://www.mc2design.com/blog/php_self-safe-alternatives