※ 引述《ahoo122002 (承讓)》之銘言:
: 請問mysql_real_escape_string?
: 有大約google了一下sql injection
: 之後想說這樣寫ok嗎?
: 1.
: function test($value){
: return mysql_real_escape_string($value);
: }
: $name = test($_POST["name"]);
: $password = test($_POST["password"]);
escape sql 是在有 SQL 的地方才應該做的事情
沒有SQL 的時候 escape ...沒什麼 OK 不 OK 可言...
: 2.
: <?php
: function mysql_escape_mimic($inp) {
: // blah blah
: return $inp;
: }
: $name = mysql_escape_mimic($_POST["name"]);
: $password = mysql_escape_mimic($_POST["password"]);
不要寫自己的 escape function,要用別人寫好的
這世界比你以為的險惡太多...
你寫的方法看起來跟 addslashes() 滿類似的
那麼就有可能被人用塞入奇怪的多 byte 字元攻破
操作方法像是這篇
http://www.securityidiots.com
/Web-Pentest/SQL-Injection/addslashes-bypass-sql-injection.html
: 有高手可以提供其他好的寫法嗎?
: 先不談PDO,ORM <