ホームページ >バックエンド開発 >PHPチュートリアル >系统存在严重漏洞,怎么过滤用户输入的元数据
系统存在严重漏洞,如何过滤用户输入的元数据
我检测网站的时候 :
系统存在严重的漏洞,
漏洞等级: 高危
威胁类型: Cross Site Scripting
可能导致: 恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash利用应用的漏洞,从而获取其他用户信息。攻击者能盗取会话cookie、获取账户、模拟其他用户身份,甚至可以修改网页呈现给其他用户的内容。
描述: 本页面存在跨站脚本攻击。
跨站脚本漏洞,即XSS,通常用Javascript语言描述,它允许攻击者发送恶意代码给另一个用户。因为浏览器无法识别脚本是否可信,跨站漏洞脚本便运行并让攻击者获取其他用户的cookie或session。
建议: 建议过滤用户输入的元数据。
这什么意思啊?哪位前辈知道咋过滤啊?
------解决方案--------------------
addslashes 对入库数据转义,,,防止SQL攻击。。如果 magic_quotes_gpc 为 on,你不必程序中再次转义,
htmlspecialchars 可用于数据输出。。。比如用户评论,你没法判断用户提交了什么,比如存在你上面说的漏洞
这时候,对输出到页面的数据进行htmlspecialchars即可
------解决方案--------------------
用。addslashes($_POST['username'])
有时候要$str或$id做好类型判断。
不做好判断就算你用addslashes再套一个htmlspecialchars也会被入侵的。