簡體   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