就像 Hedger 說的:「網路是良心的事業」(看到 這篇, 好懷念的照片阿~), 這篇文章也是掙扎很久, 想到 良心... 良心... 所以含蓄的寫一寫. 請不要問下述指的 公司 或 業主 是哪些~ Orz...
因為工作類型的關係, 偶爾會看到某些網站的 Source Code, 卻經常看到類似下述的程式(從頭到尾都這樣, 並非只是偶爾忘了處理):
- SELECT * FROM XXX WHERE user = "$_POST['user']"
- echo "<p>{$_GET['user_input_data']}</p>";
每次看到總是會想講, 但是又好像會得罪到之前外包程式的公司, 想想只好先繼續閉上嘴.(我也不敢保證自己寫的不會有漏掉的. XD)
上述的這些, 並不是只有在小網站才會看到, 而在某些大網站都有類似的狀況, 不過, 說起來搞不好是他們用心良苦, 經常會遇到要資料, 結果要跟 XXX 拿, XXX 總會有某些理由不給, 透過這些用心良苦的程式, 倒是就不用擔心了~
事實上, 業主只會從瀏覽器看到的畫面, 畫面只要正常秀出來, 就一切太平, 並不會管 HTML 乾不乾淨, 安不安全 等等.
業主常會問說, 為何這個東西不能做, 為何不能發廣告信, 為何 ooxx.. 每次都是一言難盡...
看到有問題的程式, 動手去改, 改完後業主也不會感謝你... 唉唉唉... 只能想著 良心事業.. 良心事業...
網站淪陷資料庫整理清單列表
下述連結感謝 2008年06月資安之眼TW 網站淪陷資料庫 的整理(被黑客入侵的網站列表), 說簡單一點就是, 如果在上面看到你的網站名稱或網址, 就.... 知道狀況了吧~(註: 這些都是台面上的)
- Zone-H.org
- 中國被黑站點統計系統
- Turk Hack World Analyse and Attack Mirror Service - .tw Turk-h.Org
- 大砲開講
- ChrO.ot - WWW Check -- by Chroot
- mirr0r.net
- Serapis.net
- XSSed - XSS (cross-site scripting) information and vulnerable websites archive
之前也是那樣寫,不過後來學乖了 XD
目前都用 foreach 把 $_GET 和 $_POST 全部處理完再拿來用
嗯嗯~ 把全部都先過一次 filter 也是不錯的方法 🙂
我是都每次取用, 都透過自己寫的 function 來抓取~
可以使用 PDO 提供的 method,會自動補 quote 跟 slash.
http://www.php.net/manual/en/book.pdo.php
用 PDOStatement::bindValue() 或 bindParam()
http://www.php.net/manual/en/pdostatement.bindvalue.php
http://www.php.net/manual/en/pdostatement.bindparam.php
嗯嗯, 如果用 PDO 的話, 這倒是最推薦的作法, 好用又安全~ 感謝提供~ 🙂
$post = $filter::toDatabase( $_POST , Array('html'=>false,'js'->false) );
filter??? 請問這是哪個 library 提供的呢??