2011-12-21 32 views
3

我是用PHP安裝在計算機開走了,不知道什麼用strip_tags的()的結果將是對下面的文字: 「< SCR <H1> IPT >警報('哦哦 ')</SCR </H1 > IPT > 「是否用strip_tags()處理嵌入標籤

是重回: 」 <腳本>警報(' 哦,哦')< /腳本>「(即不承認,通過消除明顯的標記它暴露一個新的) 或 「alert ('哦哦')

我知道,如果它返回第一種情況,我可以重複調用該函數,直到我拿出我放入的東西,但我很好奇。

在此先感謝。

+0

我想一個有效的問題是:你爲什麼要這麼做?如果您正在尋求避免XSS上下文編碼是正確的方法,而不是剝離標籤。 – Erlend 2011-12-21 21:50:58

回答

0

偉大的問題。

不,它不會從字符串中去除任何東西:

<?php 
$b = "ipt>alert('oh oh')ipt>"; 
echo strip_tags($b); 
?> 

,輸出是你的原始字符串:ipt>alert('oh oh')ipt>

編輯

在你的第二個情況下,將打印alert('oh oh')所以它剝離全部這看起來像一個標籤在一個單一的步驟

+0

對不起,這篇文章編輯了我的原始字符串,因爲我沒有使用HTML字符代碼,你能否再次看看我。謝謝! – Cailen 2011-12-21 05:40:45

0

它僅返回:

 
alert('oh oh')