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