2011-08-21 68 views
1

我在我的網站上有一個表單,允許用戶在我的網站上插入動態生成頁面的內容。表單以及其他控件都有一個textarea,用戶需要鍵入/粘貼html代碼才能用作頁面的主體。 只要textarea不包含「腳本」標籤,表格似乎工作正常。當包含腳本標籤的html代碼被粘貼並且表單被提交時,請求似乎被服務器終止,$ _POST,$ _GET和$ _REQUEST變量是空的。該代碼在我的Windows測試機器(WAMP 5.xx)上正常工作,但是,在網站託管(Linux託管)的情況下,代碼無法工作。 我讀過類似的問題,有人張貼在.htaccess文件下面的代碼會有所幫助,但它並不在我的情況有所幫助:當textarea包含時,PHP請求變量爲空<script>標記

<IfModule mod_security.c> 
    SecFilterEngine Off 
</IfModule> 

這似乎有一些配置問題,我也已經檢查兩個系統的phpinfo(),並沒有顯着差異。 請幫忙,該網站需要在本週內上線。

+1

'SecFilterScanPOST Off'又如何呢? –

+0

mod_security未安裝在我的主機上,因此該標籤內的任何內容都不起作用:( –

回答

0

怎麼樣過濾<string>在提交之前的標籤?客戶端Javascript可以做到這一點。
也許正則表達式可以提供幫助。這樣你就不必在服務器配置上工作,並且不會危及安全性

+0

我不想過濾腳本,我希望它們可以在php發佈的變量中使用。 –

+0

如果您在之前過濾它們提交(抓取提交事件),然後你可以在將它們作爲POST變量之後對它們進行未經過濾的處理。快速示例:客戶端:將轉換爲{{string}};服務器端:將{{string}}轉換爲; 在提交apache之前過濾這些字符串不會將它們過濾掉 – CaNNaDaRk

+0

看起來不錯,但如果在客戶端禁用javascript,問題依然存在,因此部分修復 –

相關問題