1. 程式人生 > >PHP get方式傳遞引數小心掉坑

PHP get方式傳遞引數小心掉坑

事情就發生在專案上線的第二天,我遠端呼叫了一個介面,直接把前臺查詢的引數拼接進行傳遞了,一般的也都是這樣吧 ,剛開始能查出資料,也沒在意,覺得調成功了,不用管了,第二天到了公司,產品那邊直接打電話急催說那個資料有問題,我說我看看,除錯了幾遍,發現始終是那幾條資料,無論傳遞什麼引數,我突然想到了,引數進行urlencode轉換一下,資料可以正確顯示了,這個urlencode是必要的,看例子把:

這是沒有使用之前的,原來客戶輸入的查詢裡面帶有 While & prog我天,這不是坑人嗎?這樣肯定被PHP解析成引數了

可以看個例子:

明顯PHP看到了&就進行了引數解析,使用urlencode進行轉換之後  &變成十六進位制的%26  空格會變成+  如果使用rawurlencode 空格變成%20:

就是這樣的坑,大家注意了。