問題タブ [mysql-real-escape-string]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql_real_escape_string(); によって「破棄」されない SQL 注入メソッドはどれですか?
mysql_real_escape_string();
utf8エンコーディングで使用するだけでは保護できないSQLインジェクションメソッドのリストはありますか?
整数の場合、intval();
Is it secure enough?を使用しています。
誰でもハッキングできるように「チュートリアル」を取得したいと考えている人へ: いいえ、しません。アプリケーションの安全性を高める方法と、ハッカーに対して 99% 保護されているかどうかを知りたいだけです。
php - Mysql または PHP が引用符を正しく変換しない
ユーザーが情報を入力するテキストエリアがあります。一部のユーザーは、情報に一重引用符と二重引用符を入力します。ページに表示されるのは、一重引用符と二重引用符が想定されているすべての種類の奇妙な文字です。関数 mysqli_real_escape_string() と trim() を使用して情報を保存し、htmleneties() を使用してそれらを php に表示するだけです。
私のデータベースにはすでにâ��文字が表示されているのに、一重引用符/二重引用符がプロパティに保存されているのはなぜですか? ありがとう!
php - mysql_real_escape_string() は md5() でまだ必要ですか?
私はいくつかのコードを調べて、すべてのユーザー入力が mysql_real_escape_string() を介して実行されていることを確認して、SQL インジェクションを防ぎます。PHP の md5() 関数を介して実行されるパスワード入力の場合、 mysql_real_escape_string(0 はまだ必要ですか? エンコーディング プロセスは潜在的なインジェクション攻撃を取り除くように思われます。
sql - 数字以外の文字をすべて削除すると、データが効果的にエスケープされますか?
この関数を使用して、MYSQL dBに書き込む前に、フィールドからすべての非数値を削除します。
これは、SQLインジェクションを防ぐために、入力データを効果的にエスケープしますか?この関数をでラップすることもできますがmysql_real_escape_string
、それは冗長かもしれないと思いました。
php - mysql_real_escape_string がユーザー入力をゆがめる - 修正方法
ユーザーからのすべての入力 (最終的には mysql テーブルになります) は、mysql_real_escape_string()
php.net およびほとんどのフォーラム ユーザーごとに通過します。内部で何をしているのかは正直わかりません。
It's
私が知っていることは、私のxamppライトインストールで実行してもユーザー入力には影響しないということですが、実稼働Linuxサーバーにアップロードすると、ユーザーがアポストロフィを使用するたびにユーザー入力に「\」が追加されますIt\'s
.
これに対する修正は何ですか?
php - mysql_real_escape_stringが特定の正規表現で使用されていません
dataHandlerライブラリを使用して、すべてのdb挿入/更新などを処理しています。ライブラリには次の関数があります。
次に、これらの関数を使用して、次のようにsprintfを使用してクエリを作成します。
$params
連想配列です: array("db_field_name"=>$value, "db_field_name2"=>$value2, etc.)
parseParams関数はこれらの値を引用符で囲まないため、「)」で終わる文字列の更新または挿入を実行したいときに問題が発生しています。
私の質問はこれです:なぜこのライブラリは閉じ括弧で終わる文字列に対してprepareValueを呼び出さないのですか?mysql_real_escape_string()
この値を呼び出すと問題が発生しますか?ライブラリは簡単に変更できますが、作成者がこの特定の正規表現をこのように処理したのには理由があると思います。その理由がわからない!そして、ここにあるものの背後にある理由を理解するまで、私は変更を加えることを躊躇します。
ご協力いただきありがとうございます!
php - 別のストリップスラッシュの問題
これに対する本当の解決策は見つかりませんでした。他の多くの人と同じように、jquery wysiwyg エディターを使用して、出力を mysql に保存しています。この問題は、エディタにロードして再度保存すると発生します。送信を押すたびにバックスラッシュと " マークが増えます。もちろん、DB に書き込む前にmysql_real_escape_string()
.
strpslashes を再帰的に使用していますが、機能しません。
誰かがアイデアを持っていますか?どうも
php - mysql_real_escape_stringの後、前にバックスラッシュが付いたアポストロフィがTwitterに表示されます
以下のコードでは、2行目$comment
がTwitterに投稿されています。
$comment
以下にアポストロフィが含まれている場合、ツイートの前にバックスラッシュが付きます。Twitterのバックスラッシュを取り除くにはどうすればよいですか?
php - db1.table1からdb2.table1に新しい行を挿入します
正確なテーブル構造(table1)を持つ2つのデータベース($ db1、$ db2)があります。$ db2.table1には、$ db1.table1に挿入したい新しい行があります(つまり、$ db2が新しく、$ db1が古い場合、$db1を$db2からの新しいエントリーで更新したいと思います)。
次のphpコードを思いついたので、問題なく動作するはずですが、列IDの特殊文字と、そこに挿入される値が心配です。
コードは次のとおりです。
列名に特殊文字が含まれるかどうかはわかりません。それらをバックティックで囲む必要がありますか?
はいの場合、私はそれらを使用して解析する必要がありmysql_real_escape_srting()
ますか?
VALUESはどうですか?それらを引用符で囲む必要があります'value'
か?挿入する値が数値の場合はどうなりますか?その日付/時刻の場合はどうなりますか?
古いデータベースからPHP変数へのデータのフェッチとデータベースへの挿入をバイパスできる方法はありますか(上記の質問は無関係になります)?
注:2つの接続がありますが、2つの$dbを提供する同じSQLサーバーがあります