問題タブ [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 - 「PHPを使用してmysqlにデータを安全に入力する方法」を使用してデータを挿入する際の問題
フォームを使用してMySQLにデータを入力しようとしていますが、mysql_real_escape_string
この目的にも使用しています。残念ながら、出力に問題があります。\
s が表示されます。使用するstripslashes
と、すべてのスラッシュが削除されます。
送信するweb's forms using backslash \
と、次の出力が得られます。
バックスラッシュが二重になっているのを見てください。しかし、stripslashes
関数を使用すると、すべてのスラッシュが削除されますが、入力されたスラッシュも削除され、出力は
ここでは、バックスラッシュは表示されませんが、最後にバックスラッシュが 1 つ必要です。
問題は、誰かがパスワード フィールドやその他のフィールドでバックスラッシュを使用すると、バックスラッシュが削除されるか、2 回表示されることです。
php - mysql_real_escape_stringが機能しない
私のmysql_real_escape_stringは無視されています。それは私を殺している、なぜならそれは私が欠けている小さな何かのように感じるからだ。
$ htmlText変数は、テキストがHTMLとして、つまりタグなどでレンダリングされるTinyMCEエディターから取得されます。
奇妙なことに、変数名を変更するだけで機能するスクリプトから適応されています。MySQL構文でエラーが発生します。また、テキスト内のHTMLをエスケープしていないため、次のエラーが発生します。
php - データベースに書き込む前にデータをクリーンアップするためのより良い方法
私はPHPとMySQLを使用して基本的なフォーラムを強化しています。ユーザーがアポストロフィ(')を使用するか、投稿にリンクを挿入すると、mysql_real_escape_string関数がテキストに\を追加します。投稿を表示するとき、リンクは機能せず、すべてのアポストロフィの前に\が付いています。
テキストを出力する前に何かをしていないという問題ですか、それともMySQLに書き込む前にデータを適切にクリーンアップしていないという問題ですか?
php - SQLで引用符をエスケープする
php.netによると 、非推奨になっているため、 mysql_real_escape_string()を使用し、魔法の引用符をオフにする必要があります。
それで、それをオフにしてmysql_real_escape_string()を使用しましたが、次のコードのように使用するだけで十分ですか?
データベース内のデータを確認すると、$ valueの場合と同じように見えますが、そう"It's Time"
ではありません"It\'s Time"
。これは正常ですか?これは引用符の前にスラッシュを追加するべきではありませんか?
mysql - 投稿に NicEdit などのツールを使用している場合、一部の文字をエスケープ解除する必要がありますか? どのように?
投稿に nicEdit を使用して、ユーザーがテキスト フォントの変更、太さ、画像の追加を行えるようにすることを計画しています。もしそうなら、どうすればいいですか?
php - Mysql Php real_escape_stringで一重引用符をエスケープする
文字列の意味を維持しながら、安全なクエリのために文字列をきれいにする方法を理解するのに苦労しています。一部の値に一重引用符またはその他のエスケープ可能な文字が含まれているテーブルを考えます。real_escape_string を使用し、それらの値を選択するにはどうすればよいですか?
my_table
value's1 は URL から来ているので、mysqli::real_escape_string で消去する必要があります。つまり、クエリは次のようになります。
もちろん、このため、結果が返されません。
この問題に対処するためのさまざまな戦略は何ですか?
注: phpinfo() を実行しただけで、magic_quotes_gpc は「オフ」です。この値を消去する必要がありますか? PHP で一度に 1 つのクエリしか許可されていない場合に、SQL インジェクションを行う方法がわかりません。私が用心しすぎているだけですか?
php - SQL INSERTの前にmysql_real_escape_stringを使用しますが、取得したデータにストリップスラッシュを適用する必要があります。正常ですか?
私はPHP/SQLの専門家ではありませんが、SQLINSERTを保護するためにmysql_real_escape_stringを適用する必要があることを発見しました。
私はネット上で見つけたいくつかのアドバイスを使って関数を作りました、ここにそれがあります:
テーブルの内容を見ると、バックスラッシュが含まれています。そして論理的には、データを取得するときに、これらのバックスラッシュを削除するためにストリップスラッシュを適用する必要があります。
マジッククォートはオフです。
質問1) SQL挿入前にデータを保護するためにmysql_real_escape_stringを使用しても、コンテンツにバックスラッシュが表示されるべきではないと思いますか?これを確認できますか?
質問2) 正常でない場合、これらのバックスラッシュがphpMyAdminのコンテンツと取得に表示されるのはなぜですか?私は何を間違えましたか?
質問3) mysql_real_escape_stringは2回適用できると思いますが、そうではありませんか?もしそうなら、mysql_real_escape_stringが同じ文字列に何度も適用され、多くの\\が同じエスケープ可能な文字につながるのを防ぐための関数は何でしょうか?
ご入力いただきありがとうございます。
php - mysqlテーブルにスラッシュを挿入する際の問題
文字列「AM/PM」をmySQLテーブルに挿入するときに問題が発生しました
エラーはありませんが、表にはAM/??のみが表示されています。
編集:
$ sqlをエコーすると、次のようになります。
そして、はい、私はこの質問をする前に非常に長い間ウェブを検索しました。おそらく、Stackoverflowからのリンクがある場合。私はすでにそれを見落としています。
php - mysql へのフォーム投稿のリンクとスタイルが壊れています。これは mysql_real_escape_string が原因ですか?
安全を保つために言われた
表示される場合は、Mysql に送信する前に mysql_real_escape_string を使用します
よく私はします:
しかし、それらの値に何かが含まれている場合、<a href="where">go</a>
それは次のようになります<a href="\where\">go</a>
そして…行けない!ハハ、
どうすればこれを解決して安全に保つことができますか?
ありがとう!