問題タブ [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.
php - GET 変数がエスケープされていますか?
私はここで本当に混乱しています、誰かが私にこれを説明できますか?
リクエスト:
http://example.com/test.php?var=String's
結果:
GET 変数がこのように変換される理由だけでなく、入力が送信されたとおりになるようにこの動作を削除する方法を説明してもらえますか? SQL ラッパーが mysql_real_escape_string() を介してこれを渡し、最終的にString\\\'s
:(になるという問題があります。
php - Mysqlエスケープ文字列YouTube埋め込みコードが機能しない
私がやろうとしているのは、ただ 1 つのことだけです。
今書いたら…
私は...
何も...
考え?
編集:
わかりました、私の意図は $embedCode を出力することではなく、それをデータベースに挿入することですが、null 値を取得しています。私は賢いお尻になると思っていましたが、ここでの単純なアプローチで裏目に出ました。とにかく、要点は、mysql クエリを通過していないということです。
編集 2: wordpress の $wpdb オブジェクトを使用しています
結果を得る:
php - PHP mysql インジェクションからクエリを保護します。
これに mysql_real_escape_string() を追加するにはどうすればよいですか:::
php - mysql_escapeを使用した未定義の関数
mysql_real_escape()関数を使用しようとすると次のエラーが発生します
Fatal error: Call to undefined function mysql_real_escape() in /var/www/registration/index.php on line 169.
なにが問題ですか???
php - ユーザー入力を検証していますか?
私は何かについて非常に混乱していて、誰かが説明できるかどうか疑問に思っていました.
PHP では、ユーザー入力を検証するので、htmlentitiies、mysql_real_escape_string をデータベースに挿入する前に使用します。明らかに、データがデータベースに入るときに mysql_real_escape_string を使用しますが、データベースからデータを取得して Web ページに表示するときにのみ htmlentities() を使用する必要があるかどうかはわかりません。元の形式を保持していないため、後でそのデータを別の目的で使用する場合に問題が発生する可能性があります。
たとえば、名前、件名、メッセージの 3 つのフィールドを持つゲストブックがあります。明らかに、フィールドには js タグ内の悪意のあるコードのようなものを含むことができます。データベース内の役に立たないデータ。悪意のあるコードを Web ページ (ゲストブック) に出力するときに htmlentities を使用することで、htmlentities はそれを安全な同等のものに変換したため問題ありませんが、同時に、データベースには不要な悪意のあるコードが含まれています。
したがって、これをすべて言った後、私の質問は、データベース内の一部のデータが悪意のある、役に立たないデータである可能性があるという事実を受け入れる必要があり、出力で htmlentities を使用している限り、すべてが問題ないか、それとも何か他のことを行う必要があるかということです。
受信時にデータをフィルタリングし、出力時にエスケープして元のフォームが保持されるようにすることについて多くの本を読みましたが、すでにphpなどに組み込まれている関数を使用してフィールドがintのみであることを保証するなどの例しか示していませんが、見つけたことはありませんユーザーが好きなものを入力できるようにするゲストブックのようなものを確保することに関して何か、また mysql_real_escape_string() とは別にそのようなデータをフィルタリングしてDBクエリを壊さないようにする方法については?
誰かが私のためにこの混乱を最終的に閉じて、私が何をすべきか、そしてベストプラクティスは何ですか?
説明できる人に感謝します。
乾杯!
php - mysql_real_escape_stringを使用したトランザクション
最近、PHPからMySQLを使用して、これについて疑問に思っています。
mysql_real_escape_string()
スクリプトで複数回使用することによるパフォーマンスへの影響は何ですか?- 特定のスクリプトに対してこの関数を呼び出す回数を減らすことを試みる価値はありますか?
- 呼び出されるたびに接続の文字セットを決定しますか、それともこの値がキャッシュされますか?
シナリオが必要な場合は、PHPと、テキストと数字の区別について考えています。数字(intval()
、floatval()
または直接キャストを使用)は、呼び出しなしで含めることができます。
php - mysql_escape_string VS mysql_real_escape_string
ですから、これは私たち全員が知っておくべきことであり、最初に見たときに頭に浮かびました..
5.3 から非推奨になっていることは知っていmysql_escape_string
ますが、実際の違いは何でしたかmysql_real_escape_string
。
私が考えたのは、mysql リソースの 2 番目の引数を取ることとmysql_real_escape_string
まったく同じであるということです。mysql_escape_string
mysql_real_escape_string
それで、2つの関数が必要ないため、文字列の処理方法に何らかの違いがあるに違いないと思いました。
そのため、違いは純粋にロケールと文字エンコーディングにあると考えました。?
誰かが私のためにこれを片付けることができますか?
mysql - mysql_real_escape_string の問題
入力すると
'
「スティング」がエスケープされていないため、検索バーにmysqlエラーが表示されます。
しかし、私がそれを逃れることができない理由は、現在それが文字列であるとは思わないからです.
検索ボックスは、入力したとおりに ajax を使用して検索結果を動的に生成し、エラーが発生する結果を見つけます。
これはmysqlクエリです:
クエリを投稿した後にこれを修正できる方法はありますか?
php - mysql_real_escape_string を使用できません
したがって、mysql_real_escape_string を使用すると、この警告が表示されます
サイトの残りの部分は正常に動作し、DB などに接続しますが、この関数を使用するとエラーが発生します。
私のローカルホスト テスト サーバーでは問題なく動作します。
何か案は?
前述の関数を自作の文字列サニテーション関数で使用します。
そして、クエリを実行するたびにこの関数を使用します...
よろしくお願いします!
php - Mysql_real_escape_string...他に自動設定はありますか?
ここで奇妙な状況になりました。私のローカル mysql データベース (v5.1.41) では、ユーザーの引用構文を問題なく処理するには、このエスケープ コマンドを使用する必要があります。ただし、Web サーバーの mysql データベース (v5.0.91-community) ではこのコマンドを使用できません。このコマンドを Web サーバー (Apache v2.2.13) で使用すると、ユーザーの引用構文に余分なスラッシュ構文が追加されるため、mysql_real_escape_string コマンドを削除すると、引用符を含む入力がデータベースに挿入されても問題は発生しません。
だから私は、php とは別に、Apache (v2.2.13) または mysql 自体に、PHP の mysql_real_escape_string コマンドなどの引用構文を自動的に処理できる設定があるのではないかと考えていました。
前もって感謝します