在我的PHP代碼中,我傳遞了一個ID爲PHP從SQL服務器獲取信息。 它似乎很好地工作,但每當我有一個「&」的名字,這是行不通的作品「2017_test ID」SQL注入ID名稱包含'&'
http://localhost/php/single-entry.php?document_id=2017_test%20id
這裏的ID的更多
$doc_info = array();
$id = "ID not set";
if(isset($_GET['document_id'])) {
$id = $_GET['document_id'];
$id = str_replace('___', '&', $id);
$doc_info = get_document_info($id);
$doc_info['dummy'] = " ";
}
例子我知道正確的信息。一個ID的
例如不工作 「2017_e &我EDV」
http://localhost/php/single-entry.php?document_id=2017_e&i%20EDV
在這裏,我讓PHP警告:未定義指數。儘管數據在數據庫中。
我將id傳遞給另一個函數,該函數使用此ID獲取存儲在數據庫中的信息數組。 在第一個例子中我得到的數據,但如果名下有「&」我得到未定義指數
「不起作用」究竟意味着什麼? – zerkms
瞭解url編碼,因爲像'?','='和'&'這樣的特定字符在URL中具有特殊含義作爲GET參數分隔符 –
$ _GET中的&是一個特殊字符。從G_GET轉換爲$ _POST,看看是否有幫助 – jeff