2009-11-18 53 views
0

當用戶在評論中輸入網址時,該網址變成鏈接。Php:我怎樣才能防止用戶寫的URL鏈接的攻擊?

如何防止來自這些鏈接的攻擊?我可以採取什麼措施?

thanx

+0

你害怕什麼樣的攻擊? – Gumbo

+0

我猜想一個攻擊的例子是鏈接中的JS,或者使用結束引號和標籤在鏈接外注入HTML。 –

回答

3

沒有什麼可以做,除了適度。計算機無法確定鏈接是否健全。你可以覈對黑名單,你可以檢查域中的一些話,但除此之外,有沒有什麼可以做,對不起......

+0

P.S .:您可以禁止鏈接;) – Franz

+2

這是事實,沒有任何系統可以絕對過濾掉所有內容,但您至少可以採取措施來減緩大部分問題。這就像放入圍欄來防止竊賊一樣:它不會阻止所有的竊賊,但它會阻止小偷竊賊。 –

1

不允許在評論中顯示鏈接標籤? 使用php strip_tags函數從提交的評論中刪除html標籤(您也可以添加允許該功能的標籤列表)。

1

您可以使用黑名單(不會捕獲大多數東西),白名單(將阻止大多數無害鏈接)或警告用戶的重定向屏幕「不要成爲白癡,這個鏈接可能是惡意的(這不會阻止鏈接,但讓你說你警告用戶,這是他們自己的錯誤)。選擇你的毒藥。

2

這將局部淨化你的網址,但如果用戶點擊該鏈接將會對外部惡意網站的影響爲零:

$url = "http://www.mytesturl.com"; 
$url = filter_var($var, FILTER_SANITIZE_URL); 

過濾器將刪除所有字符,除了字母,數字$ -_ + *'(){} | \\ ^〜[]`<>#%「; /:!@ & =

0

退房mollom.com,這個第三方服務將提示我們只有當它顯示爲垃圾郵件時才用於驗證碼。