2009-09-05 14 views
0

我想在我的代碼上測試這些代碼http://ha.ckers.org/xss.html。爲此,我需要將該頁面上的代碼設置爲一個PHP變量,但我遇到了麻煩。如何在括號中設置帶括號和其他項的字符串作爲變量?

例如下面的代碼不正確,只是因爲「代碼」和「代碼」而將其設置爲變量,'「就是我所說的。我怎樣才能從該頁面或下面設置代碼?成用於測試的PHP變量

$string = '<IMG SRC=\"javascript:alert('XSS');\"><b>hello</b> hiii'; 

回答

1

的另一種方式,也許有點容易(你沒有逃跑的報價,也沒有雙引號)是使用Heredoc syntax

$string = <<<STR_1 
<IMG SRC="javascript:alert('XSS');"><b>hello</b> hiii 
STR_1; 

注意您仍然有逃避$如果你有一些符號,不要有可變插值。

引述手冊:

定界符文本表現的就像一個 雙引號字符串,而 雙引號。這意味着heredoc中的引號 不需要被 轉義,但上面列出的轉義碼 仍然可以使用。變量是 已擴展,但在與hellooc中的 字符串一起表示複雜 變量時,必須採用 。

注:閱讀該手冊:有一些事情你必須知道使用定界符之前

+0

這是完美的! – JasonDavis 2009-09-05 16:42:27

4

你需要逃避你用來declare the string用引號所以你的情況的單引號:

'<IMG SRC="javascript:alert(\'XSS\');"><b>hello</b> hiii' 

否則字符串將與ü被中止美麗的報價。

+0

感謝(喜歡的事實,結束標識符必須是唯一的其行),我知道,我想我只是希望有一些隱藏的方法/方法,我不知道如何加快這個過程,但不要猜測! – JasonDavis 2009-09-05 16:08:32

相關問題