簡體   English   中英

驗證不受信任的HTML輸入是否需要處理每個輸入?

[英]validating untrusted HTML input do I have to process each input?

對於跨site_scripting漏洞

1)驗證並轉義每個用戶輸入是否是一個好主意

2)使用strip_tags是否足夠好,並且htmlpurifier對此有什么好處?

是的,這是一個好主意。 我要說的是,如果你不做白痴。 將數據存儲在數據庫中時,請使用准備好的語句和綁定參數 如果您使用它(像應該那樣),則不必手動轉義進入數據庫的數據。

現在,要顯示數據,它取決於您要允許的內容以及輸出的位置。 如果它將顯示在HTML頁面上,並且您不想允許任何HTML呈現,請使用htmlspecialchars($content, ENT_QUOTES) 您幾乎htmlentities使用htmlentities因為這將轉換存在HTML實體的所有字符。 這意味着它將使您的文檔不必要的更大。 如果要允許某些HTML,則必須在顯示之前對其進行過濾(使用HTML凈化器)。

請注意,不同的存儲機制和不同的輸出介質需要不同的轉義/清理策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM