繁体   English   中英

数组上的输出转义以防止xss

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM