2013-08-26 40 views
0

默認情況下,CodeIgniter阻止%27(')出現在URL中。我已將整個$ config ['permitted_uri_chars']指令作爲結果註釋掉了。但是,當我現在將URL的一部分解析爲包含%27的方法參數或任何其他URL編碼部分時,CodeIgniter會將它轉換爲純文本格式,然後我甚至可以在其上運行rawurledcode()。我怎樣才能阻止它做到這一點?我們正在使用CI v1.7.x.停止CodeIgniter不正確解碼URL編碼的內容

下面是一些簡單的代碼來顯示它:

在 「計劃」 控制器:

function test($parameter) 
{ 
    echo $parameter; 
} 

然後我們加載http://example.com/program/test/o%27clock,我們得到:

o?clock 

我預計o'clock或者至少o%27clock,我可以用rawurldecode()來得到o'clock

更新:不幸的是,我錯了。它不是由CodeIgniter引起的。相反,suhosin的存在正在進行替代。

+0

請檢查這裏[這裏](http://stackoverflow.com/a/8727050/2605821) –

+0

我已經沒有用。 – jaydisc

+0

你已經評論了$ config ['permitted_uri_chars']取消註釋,並添加(')字符將有助於我猜測。 –

回答

0

問題不是CodeIgniter。這是suhosin。