私はこれらの魔法の引用について混乱しています。
は、彼らは私のサーバー上で有効になっている、と私の質問は、私のような関数を使用してそれらを を無効にする必要があります:私の入力をサニタイズするか、私はマジッククオートにすべての仕事をしておくべきですマジック引用符はSQLインジェクションに対して脆弱ですか?私はstripslashesを使用し、入力を消毒する必要がありますか?
if(get_magic_quotes_gpc()){
$username=stripslashes($username);
$password=stripslashes($password);
}
。
私は(学習目的のために)いくつかのSQLインジェクションを練習しています。魔法の引用符がある場合 私は何もしませんが、上記のコードを使用するとSQLインジェクションができます。
だから私はこのような魔法の引用符や使用機能に固執する必要があります
if(get_magic_quotes_gpc()){
$username=stripslashes($username);
$password=stripslashes($password);
$cleanUsername=mysql_real_escape_string($username);
$cleanPassword=mysql_real_escape_string($password);
}
私はいけないので、任意の助けを入力を消毒上の多くの経験が
回避する必要のある唯一の機能SQLインジェクションはmysql_real_escape_string –
のみですか? ...私がしなければならないことは、mysql_real_escape_stringを内部に持つ関数を作成して使用することです。 imをSQLで完全に保護しているかどうかわからない場合 – aygeta
TrexXxで提案されているようにPDOを使用しない限り、mysql_real_escape_stringは必要な唯一の機能です(このサイトで関連する回答を探すことができない場合) SQLインジェクションからあなたを守る。 –