2011-10-05 50 views
-4

我通過POST方法發送所有表單信息,我想直接在屏幕上打印它們。當我提交爲什麼我不能從<input type =「text」>塊提交腳本?

"aaaaaaaaaaaaaaa <b>Hello</b> <script>alert('Hello World')</script>" 

到輸入框,然後我看到印有「aaaaaaaaaaaaaaa」,然後大膽的「你好」在屏幕上,僅此而已。腳本在哪裏?它是PHP實現的保護嗎?

+1

PHP與Javascript無關。它不會剝離任何東西,除非你自己做,或者有一個webserver/php安全模塊。你看過頁面的來源嗎?很明顯,HTML正在被解釋,因爲你說你好大膽。你有沒有證實,JavaScript位實際上不在那裏? –

+0

請顯示您的代碼。問題不具建設性。 – pltvs

+0

你在使用任何一種PHP框架嗎? –

回答

2

檢查您的PHP版本和magic_quotes_gpc值。它轉義所有REQUEST數據。這個值應該是'關'。在PHP 5.3中,magic_quotes_gpc被deprectaed。

+0

該值在php.ini中關閉:magic_quotes_gpc =關閉 – Narek

+0

請告訴你代碼。 – pltvs

1

PHP不具有對抗這些攻擊本地保護,但網站都應該實施這些保護

在實踐中的惡意代碼會被PHP腳本

編輯進行轉義:

echo strip_tags($_POST['data'], "<b><i><u>"); 
+0

你不知道'魔術引號' – pltvs

+0

不,試圖攻擊我的代碼只是:)我知道,沒有人會相信,雖然它是真相:) – Narek

+1

魔術引號已過時,並且由於它們不會清潔up惡意html,他們只是逃避「'字符 – 2011-10-05 16:33:22

相關問題