看板 PHP 關於我們 聯絡資訊
※ 引述《NetsFan (莫忘初衷)》之銘言: : <form method="post" name="input_db" action="index.php"> : <input type="text" value="輸入你要的數字" name="db_name1"> : <input type="submit" value="將你輸入的數字寫入資料庫" > : </form> : <?php // 這個是連接到資料庫的程式碼 : $get_user_input = $HTTP_POST_VARS['db_name1']; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : ..... : mysql_select_db(DATABASE); // 選擇哪一個 DB : mysql_query('Insert Into hey Values("$get_user_input")'); ^^^^^^^^^^^^^^^ 直接將 POST 或是 GET 取得的資料、不經過濾處理,直接用在 資料庫的查詢上是件危險的事情... 小心被有心人用 SQL Injection 攻擊 此外,如果你要將在字串中插入變數,應該要用 " 而非 ' 以上例而言應為: "INSERT INTO hey VALUES ('$get_user_input')"; 或是 "INSERT INTO hey VALUES ('{$get_user_input}')"; 或是 'INSERT INTO hey VALUES (' . '\'$get_user_input\'' . ')'; //如果堅持使用 ' ....等 有興趣可以多研究一下字串值中 " 和 ' 之間的差異 : $query_string = "Select * From Hey"; : $dbSelect = mysql_query ( $query_string ) or die( "Query failed" ); : .... : ?> : 我想要使用者輸入資料 傳到%get_user_input中 : 然後再使用 SQL 指令塞東西進去的時候 使用那個變數 : 可是卻不成功,顯示出來每次都是 0... : 請問我這個用法有用錯嗎 @@ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.1.239
thitbbeb :現在appserv的版本好像都預設啟用magic_quotes_gpc 09/29 13:12
thitbbeb :不過還是將magic_quotes_gpc 關掉自行過瀘較好… 09/29 13:13
NetsFan :謝謝 受教了。之前有看過 sql injection的相關文章 09/29 20:31