問題タブ [addslashes]
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 - magic_quotes_gpc() の解毒剤?
私は、次のような PHP スニペットを数多く見てきました。
に電話するとどうなりますDB_Quote("the (\\) character is cool");
か? (ありがとうjspcal!)
値が、またはスーパーグローバルから発生した場合get_magic_quotes_gpc() == true
にのみ、スラッシュを削除することになっていませんか?$_GET
$_POST
$_COOKIE
mysql - 検索で、LIKE を使用した mysql クエリで行が返されず、値に "\" が含まれている
mysql での検索に関して問題があります。以下は私の質問です。
このクエリを実行すると、ゼロのデータが返されます。
実際には、「管理者」がデータベースに保存されています。この「\」は、SQL インジェクションを防ぐためのものです。私はmysql_real_escape_string
SQLインジェクションを防ぐために使用しました。
しかし、変数にaddslashesを3回使用すると機能します。
したがって、以下のクエリは機能しています。
上記のクエリは、admin のような名前のデータを返します。
私はどこが間違っているのかわかりません。
php - Htmlentities vs addslashes vs mysqli_real_escape_string
私はPHPアプリケーションの保護についていくつか読んでいますが、賢明な攻撃者に奇妙なことが起こる可能性があるmysqli_real_escape_string
ため、MySQLテーブルにデータを挿入するときに使用する正しい機能であるように思えます. addslashes
右?
しかし、私を混乱させていることが1つあります。ユーザーが入力したデータをユーザーにエコーバックしてデータを保護するaddslashes
よりも、アドバイスを受ける方が良いと覚えているようですが、脆弱性があるようです。これは本当ですか、それとも間違って覚えていますか?htmlentities
addslashes
php - Addslashes、mysql_real_escape は常に 2 つのスラッシュを追加しますか?
JSON をデータベースに挿入する際に問題が発生しました。私の意図は、変数を取得し、それらを json_encode し、(magic_quotes から) スラッシュを削除してから、{"key":"value"} の引用符をエスケープするためにスラッシュを追加することです。
残念ながら、エンコードされた文字列の strip_slashes は何もせず、これを出力します
その後、addslashes と mysql_real_escape_string を試しましたが、どちらも出力されます
なぜ2つのスラッシュを追加しているのかわかりませんか? そして、私はこれに髪を引き裂いています。スラッシュを取り除こうとするたびに、1つが残り、スラッシュを追加すると2つ追加されます。どんな助けでも大歓迎です!
php - PHPのaddslashes()関数中のエラー
htmlフォームコード-
フォームを送信すると、次のスクリプトを呼び出します-
エラー-
警告:addslashes()は、パラメーター1が文字列であり、配列がC:\ xampp \ htdocs \ shizin \ products \ library\config.phpの53行目にあることを想定しています。
このスクリプトは入力をトリミングするためだけに使用されていると思いますが、このaddslash関数が何をするのか、なぜこのエラーが発生するのかわかりません。
php - POST値をループ内で動的にして、配列として格納しますか?
私は、任意のフォーム送信のPOST値を取得し、それらを配列にポップし、trim、addslashesなどを使用して配列をループし、その値を変数に戻し、そこで値を返す関数を作成しようと取り組んできました。データベースに渡されます。
今私が持っているハードルは、フォームの送信時にすべての入力、テキストエリア、選択要素のデータを配列に取り込むことです。私が従うコード
POST値の名前がまだ静的に入力されていることを除けば、ここではすべて問題がないことがわかります。必要なのは、増分変数を使用してPOST名を動的に呼び出してからポップするループにPOSTデータをフィードする方法です。そのすべてのデータを同じ配列に入れます。私が試したコードは次のとおりです。
今ではこれがうまくいかないことはわかっていますが、私は比較的近くにいると感じることができるので、賢い人が最後の部分を整理するのを手伝ってくれるかどうか疑問に思っていますか?悲しいことに、私は今眠りにつくつもりであり、この投稿を少なくとも9時間は見ないでしょう、お詫びします。
前もって感謝します。
ダン。
php - PHP 'addslashes' が期待どおりに動作しない
これは夢中になっていますが、答えが見つからないようです。ネットワーク ドライブにマッピングするための Windows samba パスが含まれる場合があるテクニカル ナレッジ ベースを実行します。
例えば:\\servername\sharename
バックスラッシュが 2 つ続くパスを含めると、「addslashes」の実行時に適切にエスケープされません。期待される結果は " " です\\\\servername\\sharename
が、" " が返されます\\servername\\sharename
。後で 'stripslashes' を実行すると、二重のバックスラッシュ プレフィックスは 1 つのスラッシュにすぎません。また、 a を使用してみましたが、予想されるときにstr_replace("\\", "\", $variable);
返されます。"\servername\sharename"
"\\servername\sharename"
したがって、addslashes を使用すると、最初の 2 つのバックスラッシュのセットが無視され、str_replace を使用すると、2 つのバックスラッシュが 1 つのエンコードされたバックスラッシュに変更されます。
データベースを挿入するには、addslashes と stripslashes を実行する必要があります。pg_escape_string を使用しても、この特定のケースでは機能しません。
これは、Apache 上の PHP 5.3.1 で実行されています。
編集: コード例
$variable = 'In the box labeled Folder type: \\servername\sharename';
echo addslashes($variable);
これは次を返します:In the box labeled Folder type: \\servername\\sharename
編集: コード例 #2
$variable = 'In the box labeled Folder type: \\servername\sharename';
echo str_replace('\\', '\', $variable);
これは次を返します:In the box labeled Folder type: \servername\sharename
また、一重引用符または二重引用符を使用しても、(ご想像のとおり) 異なる結果が得られないことを述べたいと思います。どちらかまたは両方を使用しても、まったく同じ結果が得られます。
私ができることについて何か提案はありますか?
php - PHPのaddslashesとmysql(i)_escape_stringの違いは何ですか?
彼らがまったく同じことをしない場合、違いは何ですか?MySQLクエリ内の値の区切り文字'
はそうではありませんか?または多分"
しかしそれはまたaddslashesで逃げました。
他のデータベースエンジンでは(そして間違いなくPDOのようなdbラッパー内で)理解していますが、なぜ多くの人がaddslashesの代わりにmysql(i)_escape_stringを使用することに熱心なのですか?
php - PHP での引用符のエスケープ
MySQL データベースをクエリしようとするときに、PHP で引用符をエスケープするにはどうすればよいですか?
addslashes
すべての値を追加せずに:
django - django テンプレートから複数行の html を javascript 変数に含める方法
Django テンプレートから、ファイルから html スニペットを含めたいと思いますmysnippet.html
。
JavaScript変数に:
問題は、新しい行をエスケープする必要があることです。それ以外の場合、Javascript は「終了していない文字列リテラル」について文句を言います。
スラッシュを追加できることは知っていますが、タグ{{x|addslashes}}
に対してそれを行う方法がわかりません。{% include %}