2011-05-08 68 views
2

我想允許一些標籤,如<p> <ul> <li> <b> <strong>我有一個特定的列表。但我也想保護免受XSS攻擊,所以我需要使用轉義。我該怎麼做才能讓這些特定的標籤能夠逃脫一切?如何讓一些標籤,但阻止其他XSS

+2

如果你正在製作一個語法引擎的話,爲什麼不使用自己的語法塊,比如'{p}'或'[p]'?只是一個想法。 – Blender 2011-05-08 04:57:43

回答

0

在Drupal中有一個名爲filter_xss的函數,如果你想要一些複雜的東西,你可以用它作爲(奇妙的)例子。否則,只需使用strip_tags函數。

2

最常被推薦的是HTMLPurifier,因爲它包含了很多變通辦法來防止各種XSS濫用。它過濾掉其他解決方案可能錯過的標籤和屬性。這是一些配置工作,並可能在某些設置中矯枉過正。但它肯定是最安全的方法。

您可以使用它配置一個允許列表,但您仍然可以應用@yc的strip_tags()方法。但本身並不孤單! 只能與HTMLPurifier一起使用

+0

刪除我的答案。 +1。單是「strip_tags」是一個懶惰的答案,對於知情率較低的人來說是一個危險的答案。 – Yahel 2011-05-08 05:09:09

+0

這仍然是一個很好的提醒。並剝離*所有* html標籤它是完全沒問題的。這只是例外情況,因此在該例中不太適用。 – mario 2011-05-08 05:13:02