2012-03-03 59 views
3

從我所有的PHP體驗中,我遇到了最奇怪的事情。我有一個phpBB論壇。當我重播的主題(只有這樣),if主題是"Re: APPEL D'OFFRES",我得到一個 「禁止反斜槓在我的服務器上不起作用

您沒有權限在此服務器上訪問/zonemembres/posting.php

此外,一個403 Forbidden錯誤在嘗試使用ErrorDocument處理請求時遇到。「

我開始了一個調試過程,並看到問題出在stripslashes函數上。該腳本會生成「Re: APPEL D\'OFFRES」(因此它可以將其添加到數據庫中),然後應用「stripshlashes」函數。在我的本地電腦上,該函數返回corect值:「Re:APPEL D'OFFRES」(不帶「\」),但在我的服務器上會引發該錯誤。此外,我嘗試了很多其他組合工作:「回覆:APPEL D \'OFFRS」這工作!到底是怎麼回事?另外文字如「Re: AAPEL D\'OFFRES」的作品。

還有一個想法,當我嘗試「echo」剝離文本時拋出錯誤。 $result = stripslashes($result); - >無錯誤

echo $result; - >這裏出現錯誤。

這讓我瘋狂。有人有一個ideea?

編輯:

我也檢查了文件權限。那裏沒有問題。我再說一遍,對於任何其他主題anme,它都有效。

+1

error.log中的實際錯誤,並且您是否考慮禁用magic_quotes並使用正確的數據庫轉義函數?可能比隨機應用和刪除反斜槓更容易。 – mario 2012-03-03 11:40:14

回答

0

你應該禁用魔術引號。把它放在你的.htaccess文件中。

php_value magic_quotes 0 
php_flag magic_quotes off 
php_value magic_quotes_gpc 0 
php_flag magic_quotes_gpc off