問題タブ [sanitization]
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 - SQL データベースに格納される情報を「クリーン」にする最良の方法は何ですか?
シナリオ:
投稿したいブログがあります。ブログ投稿を書き込んで別のphpページに送信し、それをデータベースに保存して(投稿が私の投稿であることを確認した後)、そこから読み取られてホームページに表示されるフォームを設定しました. 引用符やデータベースへの保存を妨げるものを簡単にエスケープするにはどうすればよいですか?
ありがとう
javascript - JSの文字列から悪い文字を削除するにはどうすればよいですか?
私の JS は "stringify()" を使用して一部の文字列データを JSON に保存しますが、出力された JSON 文字列を観察すると、NULL やその他の不正な文字など、多くの奇妙な文字 (キースペース外) が表示されます。これらの「悪い」文字のリストがないので、文字列データからそれらを取り除くにはどうすればよいですか?
html - HTMLタグからすべてのインラインイベントをクリーンアップする
HTML入力の場合、インラインjsを持つすべてのHTML要素(onclick = ".."、onmouseout = ".."など)を無効にします。次の文字をエンコードするだけで十分ではないかと思います。=、(、)
したがって、onclick = "location.href ='ggg.com'"
はonclick%3D "location.href%3D'ggg.com'"になります。
ここで何が欠けていますか?
編集:アクティブなHTMLを受け入れる必要があります(すべてをエスケープすることはできません。エンティティはそれです)。
php - Webフォーム入力をさまざまなコンテキストで安全にする正しい方法は何ですか?
Webからのユーザー入力をWebアプリケーションのさまざまな部分で安全に使用できるようにするための正しい方法(最も柔軟、疎結合、最も堅牢など)は何だと思いますか?もちろん、コンテキストごとにそれぞれのサニタイズ機能(データベース、画面への表示、ディスクへの保存など)を使用できますが、安全でないデータを処理して安全にするための一般的な「パターン」はありますか?適切に安全にされない限り、それを安全でないものとして扱うことを強制する確立された方法はありますか?
php - GET by PHP でユーザーのデータをサニタイズする
PHP で $_GET 変数のデータをどのようにサニタイズしますか?
GET by で 1 つの変数のみをサニタイズしstrip_tags
ます。すべてをサニタイズする必要があるかどうかはわかりません。なぜなら、前回 Postgres にデータを配置したとき、この問題は を使用することで最も簡単に解決されたからpg_prepare
です。
iphone - アポストロフィを使用したiPhoneSQLiteコマンド
SQLiteデータベースと通信するiPhone用のアプリケーションを作成していますが、小さな問題が発生しています。アポストロフィを含む条件に基づいて情報を照会しようとすると、要求された条件に一致する結果が存在する場合でも、結果は返されません。具体的に説明します...
SQLiteテーブル
行--列1--列2---------
- テストデータ-001
- ユーザーのデータ-002
Objective-Cコード
私はObjectiveCに少し慣れていないので、このコードを書くときに最初に考えたのは、ユーザー入力をサニタイズすることでした。しかし、いくつかの調査を行った後、sqlite3_bind呼び出しが必要なサニテーションを行うことを読みました。ただし、コードが実行されるたびに、返される行がないため、whileループはスキップされます。データベーステーブルから2番目の行を返す必要があります。まったく同じSQLクエリをコピーしてSQL管理プログラムに貼り付けると( SQLite Managerを使用します)(もちろん、必要なクエリサニタイズを使用して)、正しいデータが返されます。
私はこれを自分でデバッグしようと長い時間を費やし、説明され解決されている同様の問題をオンラインで検索しようとするとさらに長い時間を費やしましたが、役に立ちませんでした。今のところ、iPhoneの仮想キーボードでアポストロフィを入力するユーザーの機能を無効にしました。しかし、これは完成品に含めたい機能です。ここの誰かが私に役立つヒントを提供できますか?どんな種類の助けも大歓迎です。
javascript - サーバー側の JavaScript クリーンアップまたはサンドボックス?
ユーザーが JavaScript を入力してアプリのロジックを指定できるようにすることを考えています。JavaScript はブラウザーに入力されて表示されますが、最初にサーバー側で保存され、検証されます。
これにより、明らかなセキュリティへの影響が生じます。
理想的には、JavaScript 言語のサブセットのみを許可したいと考えています。直感的には、オプトイン アプローチ (許可するものを指定し、それ以外はすべて許可しない) の方が、オプトアウト アプローチ (許可しないものを指定する) よりも安全に思えます。
私が見た多くのソリューションはクライアント側です。JavaScript が無効な場合にユーザーにフィードバックを提供し、サーバーに一度だけ保存できるため、サーバー側のソリューションの方が私のニーズには適していると思います。それは「きれい」です。
また、JavaScript を解析していくつかのチェックを実行するために何かを配置すると便利です。たとえば、ユーザーにいくつかの変数を提供し、初期化されていない変数を使用していないことを確認したり、コードが期待される形式で何かを返します。サンドボックス ソリューションは少なくともこれを妨げるべきではありませんが、正規表現だけでなくコードを解析することで機能し、構文をチェックするために独自のフックを配置できる場合、積極的に役立つ可能性があります。
Google Caja は私のやりたいことができるように見えますが、あまり深く掘り下げていません。
どのようなアプローチをお勧めしますか?
オープンソース ソリューションは優れています。私は自分のコードを書くことを気にしませんが、これは最初から適切に解決するのは簡単ではない問題のようです。
ruby-on-rails - Railsでマークダウンをサニタイズしますか?
ユーザーはアプリケーションで「記事」を編集できます。各記事は DB でマスターされ、Markdown としてクライアントに送信されます。Javascript を使用してクライアント側の HTML に変換します。
これを行っているのは、ユーザーが記事を編集したいときに、マークダウンを編集してサーバーに直接 POST できるようにするためです (既にページにあるため)。
私の質問は、クライアントに送信する Markdown をサニタイズする方法です。Rails のsanitize
ヘルパーをそのまま使用できますか?
また、一般的にこのアプローチについて何か考えはありますか? 私が考えたもう 1 つの戦略は、サーバー上で HTML をレンダリングしてサニタイズし、ユーザーが記事を編集したい場合にのみ Markdown をクライアントにプルすることでした。
php - PHP: ユーザーが特定のタグを付けて投稿できるようにする
私のサイトのユーザーは、ニュース項目を投稿できます。しかし、今のところ、HTML に関する限り、それはすべて名誉制度です。
ユーザーが画像にリンクしたり、テーブルを作成したり、単語を太字にしたりできるようにしたいのですが、悪意のあるスクリプトなどにリンクできるようにしたくありません。ユーザー入力から HTML をエスケープする方法があることは知っていますが、特定のタグを許可しながらそれを行う方法はありますか?
java - Java で HTML Id 属性をサニタイズする関数
次の関数をコーディングしました。しかし、確かに誰かがこのタスクを実行するためのよりエレガントな方法を持っています.