2016-10-13 7 views
0

タイトルには次のように書かれています。ユーザーが 'タイトル付きのファイルをアップロードしようとすると、エラーが発生します(サーバーに接続しません)。アップロード中にその記号を置き換えるか、それ以外のものを置き換える必要があります。データベースに簡単に接続するだけですファイル名に 'が含まれているとPhpファイルのアップロードエラーが発生しました。

$b = "select * from doc"; 
    $rez1 = mysql_query($b) or die("<span>error</span>"); 
+0

クライアント側のデータを変更しないでください。すべてのケースを予期することはできません。代わりに適切なエスケープを使用して、問題にぶち込まずにそのデータを処理することができます。これには、完全に時代遅れで廃止された 'mysql _...()'関数を使用するのではなく、現在の 'mysqli'拡張で、" prepared statements "と利点や" parameter binding "について学ぶことが含まれます。また、URLエスケープのようなことが起こります。 – arkascha

答えて

2

入力を操作する代わりにエスケープ方法を使用することをお勧めします。

これは、SQLインジェクションを防ぐ最も安全な方法です。 (これらの例外を悪用しようとする人を除いて、何かがうまくいかないという技術的な詳細をユーザーに伝えないでください)

また、旧式で非推奨のmysql*関数を使用しないでください。代わりにPDOまたはmysqliをご確認ください。

を: - : MySQLを使用していた場合は、mysqliの本使用に切り替える preg_quote()

$string = "Something with 'quotes' "; 
$res = preg_quote($string, "'"); 
echo $res; 

が返されますそれ以外の場合はmysqli_real_escape_string()

を、あなたは'\'とrepaces正規表現を使用することができます

\ '引用符\'が付いたもの

挿入時に問題は発生しません。

+0

isusseは、新しいアプリが起動して稼動している瞬間に私が維持している古いアプリだということです。クライアントの1人がアップロードに関する問題を抱えています。だから私は古いソリューションが必要です – OunknownO

関連する問題