[英]Output escaping on arrays to protect against xss
我需要编写一份报告,说明如何防止SQL注入和XSS以及如何改善我创建的网站的安全性。
在我的网站上,我使用了jquery的jTable来显示MySQL数据库中的数据。
使用mysql_real_escape_string清除对数据库中新条目的输入:
$fieldName = mysql_real_escape_string($_POST["fieldName"]);
(尽管在我的报告中,我建议使用准备好的状态是一个更好的选择,原因为何)
使用以下命令显示输出:
print json_encode($jTableResult);
在测试我的网站时,我意识到,尽管使SQL注入变得更加困难,但我仍然可以将HTML和javascript代码保存到数据库中,然后在显示给浏览器时执行。 因为我不知道如何解决这个问题,所以我只在用户输入上添加了strip_tags函数:
$fieldName = mysql_real_escape_string(strip_tags($_POST["fieldName"]));
现在,我需要生成此报告,我想说明应该完成的正确方法以及我可以改进的地方。
所以我的问题是...如何转义数组中的输出?
希望这有意义
您可以使用htmlspecialchars将html输出为纯文本格式: http : //www.w3schools.com/php/func_string_htmlspecialchars.asp
strip_tags除去标签,除非您指定可以在输出中显示的特定标签。
Mysql_real_escape_string用于转义用于SQL输入的字符。http://www.w3schools.com/php/func_mysql_real_escape_string.asp
但是,请查看Mysqli或PDO并准备好语句以增强安全性。 mysql已描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.