簡體   English   中英

保護我的Web應用程序免受惡意輸入的侵害

[英]Securing my web application against malicious input

我正在為Web應用程序構建基本的安全層。 我正在尋求對我正在采取的步驟的驗證。 當前的重點是XSS,因此在本文中我不會涉及數據庫。 到目前為止,這是我所做的:

  1. htmlspecialchars()所有用戶輸入
  2. 將某些關鍵字{“”,“”,“ text / javascript”}列入黑名單:我正在使用preg_replace將這些單詞替換為“”。
  3. 輸出轉義所有動態內容。

所有這些似乎都是非常瑣碎的安全層。 誰能推薦更好的策略?

您的方法太簡單了。 htmlspecialchars在每種情況下都無濟於事。

這是一個關於XSS的非常好的備忘單,並且在轉義要放入HTML的字符串時會出現什么問題。

https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29

黑名單也有它的缺點。 例如,某些瀏覽器可能會解析

text/javascript

text/java
       script

以同樣的方式。 從后者刪除了新行和空格,因此它的解釋與第一個類似。 因此,黑名單將不會成為防彈方法。

最好的策略是使用一些已經為您准備好所有這些的模板庫。 庫必須知道字符串要去的上下文。 元素值需要與屬性值不同的轉義。

暫無
暫無

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

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