2012-04-30 15 views
5

これは、現時点では、mysqlデータベースにデータを送るためにphpのデータをスクリーニングするのに最も安全な手段であることを意味します。mysqlの入力データを安全にエスケープする方法

ありがとう、あなた)

+0

htmlspecialchars()を使用する表示するとき、それは読む価値がありますhttp://stackoverflow.com/questions/60174/best-way-to -stop-sql-injection-in-php – eggyal

+0

そしてmysql_connectを使用していれば? – frops

答えて

11

私は mysql_real_escape_string() mysqli_real_escape_string()はすべてが廃止されたとの情報が有効である必要がありますので、

その後編集を、入力データをエスケープするための最良の方法であると信じて:

使用してみてくださいPDOは、古いコードをいくらか最新の状態に保つ必要がある場合には、より安全です。mysqli_*() functionsです。

+9

私はあなたの文字列を渡すと主張するでしょう、準備されたステートメントへのパラメータとして安全です。 – eggyal

+0

私は現在彼らにそれを使用しています – frops

+0

私はeggyalに同意します。 – Menztrual

4
validMySQL($var) { 
$var=stripslashes($var); 
$var=htmlentities($var); 
$var=strip_tags($var); 
$var=mysql_real_escape_string($var); 
return $var 
} 

上記のコードは、ちょうどあなたが仕事にmysql_real_escape_stringのためのMySQLデータベースに接続するようにしたことを覚えて、ほとんどの無効なデータをサニタイズするのに役立ちます...

3

現在、あなたの安全を確保するための最も好ましい方法であります準備されたステートメント。

例:その後、

$preparedStatement = $db->prepare('SELECT * FROM memebers WHERE username = :username'); 

$preparedStatement->execute(array(':username' => $username)); 

$rows = $preparedStatement->fetchAll(); 

あなたのデータは以下の回答に加えて

関連する問題