問題タブ [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 - mysql_real_escape_string() を追加すると、空の値がデータベースに保存される
最近、私は自分のページに追加しました:
すべての $_POST ( http://prntscr.com/22uot ) ID 20mysql_real_escape_string()
を自分のページに追加する前に、ID 22 を後でサニタイズしたいと考えています。私のページはすべての変数を db テーブルのフィールドに入れますが、変数に追加したいときmysql_real_escape_string()
はフィールドに何も入れません。どうすればいいのかわからない。
php - mysql_real_escape_stringはエスケープ文字を配置していません
間違っている場合は訂正してください。ただし、mysql_real_escape_stringは、(')や("などの文字の前にエスケープ文字を配置することになっていると思いました。使用している簡単な設定は次のとおりです。新しいレコードが作成されることを期待していました。 phpMyAdminで表示すると、上記の文字の前に円記号が付いていますが、エスケープ文字はありません。
php - issetかどうかを確認するためだけにGET変数を使用する場合、それをエスケープする必要がありますか?
isset()を実行するためだけに使用される場合、変数をエスケープする必要がありますか?
php - MySQL REGEXP には mysql_real_escape_string() で十分ですか?
$user_input
次のコードで、MySQL クエリが期待どおりに動作しないように選択できますか?
SQL文字列を少し渡す必要があるため、準備済みステートメントを使用できません。
編集:正規表現の DoS 攻撃については既に認識していることを付け加えておきます。
php - オブジェクトを含む配列でのmysqlの実際のエスケープ?
mysqlデータベースのセルに配置する前にサニタイズする必要のある配列があります。私が試しているコードは機能しているようです。しかし、'のような文字があるとすぐにエラーが発生し、それは良くありません。これが私が試したことです、何かアイデアは何が間違っていますか?
編集:それが役立つ場合に備えて、ここにいくつかのオブジェクトが配列でどのように見えるかを示します:
php - PHP mysql_real_escape_string の問題
たとえば、次のようにmysql_real_escape_stringを実行すると:
ローカル サーバーで動作していません。エラー ページが表示されます。
- 私のローカル サーバーは「AppServ」です。
- 私のオペレーティングシステムは「Windows XP」です。
これは正常ですか?そして、私はそれをホストされたサイトでのみ実行する必要があります!
php - チェックボックス、ラジオ ボタン、またはドロップダウン メニューで mysql_real_escape_string を実行していますか?
チェックボックス、ラジオ ボタン、またはドロップダウン メニュー (例: 国、生年月日) に対して SQL インジェクションを行う方法はありますか?
また、仮説として、誰かが猫の名前をテキスト フィールドに入力した場合、mysql テーブルに挿入する前に次のコード行を実行するだけで十分でしょうか?
または、これに加えてこれを行う必要がありますか?
php - PHPサニタイズマークダウン-html出力
私のサイトにはWMDエディターがあり、マークダウンをDBに保存しています。しかし、データベースにマークダウンを送信する前に、次のようにmysql_real_escape_stringでフィルタリングします。
そしてそれは大丈夫です。しかし、今はそれを表示したいので、PHP Markdown(マークダウンをhtmlに変換する)を使用します。しかし、問題は、新しい行の代わりに\ r\nと\nが表示されることです。nl2br関数を試しましたが、役に立ちませんでした。出力をエスケープしなくても(マークダウンをhtmlに変換せず、htmlpurifierを使用しないでください)、新しい行の代わりに\nを取得します。mysql_real_escape_stringを削除した場合にのみ、問題なく表示されます。
bbbbbbbbbbb nnnnnnnnn
php - 改行と改行をエスケープ解除しても安全ですか?
入力を mysql_real_escape_string でサニタイズしてから、改行をアンエスケープしても安全ですか? 例えば:
データベースに保存されているマークダウンが台無しになるため、これが必要です。