2011-08-02 6 views
0

さて、私はmysqlデータベースから何かを選択するユーザー入力があると言います。エスケープ文字を削除する

私はmysql注入から安全になりたいので、mysql_real_escape_string()関数を使用します。しかし、その後、変数から完全に引用符を外したり、文字列から悪いことがあれば完全に欲しい。

例 - :今

my title variable = Herp' 
escape with mysql_real_escape_string().... 
then my variable = Herp\' 

、私はそこの外に悪い見積もりをしたいです。だから、バックスラッシュの後にバックスラッシュ&文字を削除したいと思うので、 'Herp'のように見えます。

どうすればいいですか?

ご迷惑をおかけして申し訳ありません。

+1

一般に入力からアポストロフィを削除したいのですか?文字は決して「悪い」ものではありません。あなたはそれらを望むかしないかのどちらかです。あなたがそれらから逃れるなら、あなたはそれらを恐れることはありません。 – deceze

答えて

0

使用stripslashes

が、それが起こっている理由を私は掘るだろう。 magic quotesの設定を確認してください。安全上の理由から、それはあなたがだけではなく、それらをエスケープの引用符をフィルタリングしたい場合は、単にDBに挿入する前に、

$myTitleVar = str_replace(array("'", '"'), '', $myTitleVar); 

を試してみてくださいoff

+1

スラッシュを削除するだけで、余分な文字は削除されません。もし私がそれを実行すると、基本的にmysql_real_escape_string()を元に戻します。 – Alice

+0

また、魔法の引用符はオフです – Alice

1

に設定していると良いですが、私はまだお勧めしますmysql_real_escape_string()以上を実行している場合は、PDOとパラメータバインドを使用してください。

+0

大丈夫、ありがとう! – Alice

関連する問題