webdesign:head_rush_ajax_5
差異處
這裏顯示兩個版本的差異處。
| webdesign:head_rush_ajax_5 [2007/03/04 01:15] – 建立 wenpei | webdesign:head_rush_ajax_5 [2007/03/04 14:04] (目前版本) – wenpei | ||
|---|---|---|---|
| 行 106: | 行 106: | ||
| Content-Length: | Content-Length: | ||
| </ | </ | ||
| + | |||
| + | ==== SQL injection ==== | ||
| + | 在表單中輸入 | ||
| + | ' || ' | ||
| + | 造成 | ||
| + | SELECT * FROM hraj_breakneck WHERE phone=' | ||
| + | SELECT * FROM hraj_breakneck WHERE phone='' | ||
| + | SELECT * FROM hraj_breakneck WHERE phone='' | ||
| + | 其中「phone='' | ||
| + | |||
| + | === 使用 JavaScript 檢查 === | ||
| + | 檢查是否有不應該出現的字元經過表單進入 SQL 查詢式中。 | ||
| + | |||
| + | 但惡意使用者可以透過自行建立的網頁傳送 POST 進 PHP,完全不會經過 JavaScript 檢查。 | ||
| + | |||
| + | === 強化 PHP === | ||
| + | http:// | ||
| + | |||
| + | mysql_real_escape_string -- Escapes special characters in a string for use in a SQL statement | ||
| + | $phone = mysql_real_escape_string($phone); | ||
| + | |||
| + | 若確定查詢的資料永遠只需要輸出一筆,則使用 | ||
| + | $row = mysql_fetch_array($queryResult); | ||
| + | 取代 | ||
| + | while ($row = mysql_fetch_array($queryResult)) { ... } | ||
webdesign/head_rush_ajax_5.1172942123.txt.gz · 上一次變更: (外部編輯)
