作者ahoo122002 (承讓)
看板PHP
標題[請益]請問 mysql_real_escape_string的寫法?
時間Sat Aug 8 19:43:22 2015
請問mysql_real_escape_string?
有大約google了一下sql injection
之後想說這樣寫ok嗎?
1.
<?php
function test($value){
return mysql_real_escape_string($value);
}
$name = test($_POST["name"]);
$password = test($_POST["password"]);
?>
2.
<?php
function mysql_escape_mimic($inp) {
if(is_array($inp))
return array_map(__METHOD__, $inp);
if(!empty($inp) && is_string($inp)) {
return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"),
array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $inp);
}
return $inp;
}
$name = mysql_escape_mimic($_POST["name"]);
$password = mysql_escape_mimic($_POST["password"]);
?>
有高手可以提供其他好的寫法嗎?
先不談PDO,ORM <----這還不太懂
※ 編輯: ahoo122002 (111.250.7.240), 08/08/2015 19:44:09
1F:→ MOONRAKER: 1就可以了 08/08 20:18
2F:→ MOONRAKER: (下略500字) 08/08 20:20
3F:→ alog: 你可以不談pdo,但以後都是pdo的天下 08/08 23:35
4F:→ alog: 另外mysql_real_escape_string已經被php team放生了 08/08 23:39
5F:→ alog: php5.4之後的版本就不建議使用,php7直接移除 08/08 23:39
6F:推 lolikung: 建議看一下 PDO 08/09 17:41
7F:推 tas72732002: 請用pdo 08/11 11:19
8F:推 locklose: 以後是必須用pdo 大大還是轉換吧 08/14 17:39