看板 PHP 關於我們 聯絡資訊
※ 引述《kevin10449 (鹽酥雞)》之銘言: : 最近遇到windows 網頁轉移到Linux上的問題 : 例如: a.php : <a href="xxxx?page=<?=$row->Id?>">test</a> : b.php : $sql="select * from xxx where Id=".$page; : 在windows環境下,傳遞分頁變數給b.php的mysql作為篩選條件是可以的,但是 : 轉移到Linux上傳遞是似乎抓不到$page變數。 : 想請問是否哪邊語法或設定檔需要修改? 你的windows的設定其實是不好的。 這可能會產生所謂的「變數資料注入」 因為不單單是get,連post都可以注入變數資料。 早期一些書藉也是這樣教。 不過通常遇到的都是問為什麼書上的範例無法使用。 這問題基本上就是php.ini中的register_globals 開了 on (雖然我記得我聽了很久的說是要把這個參數廢止掉,但似乎這個設定還是 一直都在) 而不管怎麼樣建議就是開off就好了。 不要去做自動註冊全域變數這件事。 至於除掉這件事之外。 該如何取得get方法或是post方法的資料…… 我覺得那是相當基本的事情,就留給你自己去查資料了。 僅告訴你問題的原因。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.204.161.190 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1460098682.A.35C.html
weiclin: register_globals在5.4就沒有嘍,而且5.4也已經EOL了 04/08 16:17
tkdmaf: 說是沒有,但是在設定檔卻還是能看到……… 04/09 00:33
weiclin: 猜你複製了舊版的php.ini去用? 我這邊 5.4 之後的都沒有 04/09 08:42
這個問題就要問xampp了。 雖然我基本是無視這個設定。 喔!剛剛去看我另一台linux(php 5.5),的確沒有這個設定值…… 那應該是xampp不知道在幹嘛還是保留了這個設定值。 (我的是mac os版的xampp,也是php5.5) ※ 編輯: tkdmaf (123.204.161.190), 04/09/2016 10:26:44