問題タブ [input-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.

0 投票する
1 に答える
267 参照

linux - R、タイムゾーンとジャンク Unicode 文字を使用して Linux で strptime を使用する方法

投稿日をWEBで見るとわからない

<U+200E>

日付の前ですが、Webをスクレイピングした後、日付の前に「< U + 200E>」が表示されます。だから私はそれをcsvファイルとしてどこかに保存して読み込んだ。

これらの日付と今日の日数の差を計算したかったので、gsub を使用して < U+200E> を削除しました。

以下のように difftime を使用すると、

エラーメッセージが表示されます。

ただし、strptimeを使用すると、ウィンドウでは機能しますが、LinuxではNAになります

大規模なグーグル検索の後、どちらのプラットフォームでも strptime の使用に違いはないようです。Linuxでこのstrptimeを実行できるアドバイスはありますか?

0 投票する
1 に答える
285 参照

php - ユーザーが提供するリンクの保存 PHP/MYSQL

ユーザーが提供する URL を処理する最善または最も安全な方法は何ですか。人々のソーシャル メディア サイトへの URL を取得しようとしています。twitter、google+、facebook、youtube など。データベースや Web サイトにリスクを与えることなく、これらの URL を取得してデータベース内に保存できるようにしたいと考えています。

私のオプションは何ですか?入力文字とエスケープ/除外文字をフィルタリングしますか?部分的な URL のみを受け入れますか?

これらのリンクを安全にフィルタリングする最善の方法はまだわかりません。ユーザーが提供したリンクを一連の許容可能な形式と比較するシステムを考えていました。

すなわち。

私の Facebook リンクはhttps://www.facebook.com/lilbuggaですが、 https://www.facebook.com/532850510も使用できます。

すぐにそれは 2 つの異なるバリエーションであり、ユーザーは http、https、www、no www などを使用してプロファイルへのリンクを送信することもできます。

これらのさまざまな形式のバリエーションをすべて処理するにはどうすればよいですか? ユーザーが指定した文字列を比較するために、複数の異なる形式のリンクを格納した配列を作成しますか?

0 投票する
3 に答える
7862 参照

java - 正規表現を作成する前に入力をサニタイズするにはどうすればよいですか?

ユーザーの入力を正規表現で解析する Java プログラムを作成しています。たとえば、ユーザーが を入力した場合、/me eatsと一致し、/meに置き換え<move>ます。/ただし、Java は正規表現の特殊文字であるため、適切に一致しません。さまざまな特殊な Java 正規表現文字をすべて自動的にエスケープに置き換えるにはどうすればよいですか?

例えば:

  • /meになる\/me
  • *になる\*
  • [になる\[
  • 等々...

入れるPattern.compileです。

これはコマンド システムではありません。ロールプレイングの動きを示す方法をユーザーが指定できるようにしています。それが役立つ場合は、ユーザーがロールプレイの動きと見なすものを指定する方法のモックアップを次に示します。

このシステムを制御する設定ペインのモックアップ

0 投票する
1 に答える
9843 参照

php - filter_input() $_SERVER["REQUEST_URI"] with FILTER_SANITIZE_URL

次のように $_SERVER["REQUEST_URI"] をフィルタリングしています。

php.netで説明されているように:

FILTER_SANITIZE_URL

文字、数字、および $-_.+!*'(),{}|\^~[]`<>#%";/?:@&= を除くすべての文字を削除します。

でも、

ブラウザはこの REQUEST_URI 値を urlencode で送信するため、この filter_input() 関数ではサニタイズされません。住所は

http://www.example.com/abc/index.php?q=abc ��123

そして、サニタイズされたリクエストURLは

/abc/index.php?q=abc%EF%BF%BD%EF%BF%BD123

しかし、そうあるべきです

/abc/index.php?q=abc123

urldecode($_SERVER["REQUEST_URI"]) が可能であり、次に filter_var() を使用してサニタイズされた値を取得できます。

最後のものが「エレガントではない」と思われる理由がわかりません。$_SERVER["REQUEST_URI"] をサニタイズするエレガントな方法を探しています。

たぶん、コーディング中にスーパーグローバル配列 ($_SERVER['REQUEST_URI']) に直接アクセスすると邪魔になるので、「エレガント」ではありません。

エレガントな方法はありますか?

0 投票する
3 に答える
2092 参照

python - ベスト プラクティス: 多くのパラメーターと予約名を持つ関数を処理する

uwsgi.itの api 用の python クライアントに取り組んでおり、 http 要求を介して送信される多くの (オプションの) パラメータを受け入れるメソッドを記述する必要があることがわかりました。

最初は、ユーザーが挿入できるパラメーターを宣言したかったのですが、それらは非常に多いため、ユーザーがdict内に自由に何かを挿入できるようにするのではなく、パラメーターとしてリストを使用する方が簡単で安全だと思いました。このようなもので:

しかし、それはかなり醜く、「_class」パラメーターを処理するこの方法は本当に好きではありません。したがって、私の頭に浮かぶ他の可能性は、何でも (または **kwargs) を含むことができる辞書を受け入れ、受け入れられたキーを docstring にリストしてから、入力をサニタイズすることです。可能な方法は、許可されたパラメーターのみを受け入れる「プライベート」メソッドを宣言することです。しかし、その後、同じ問題が再び発生します。なにか提案を?非常に多くのパラメーターを持つメソッドのベストプラクティスはありますか?

0 投票する
2 に答える
3864 参照

php - Yii 2 でのデータのサニタイズ - 組み込みか拡張か?

の拡張機能を見つけましYii 1.1たが、 に関連する拡張機能がありませんYii 2。それで、それがあるのか​​ 、それともデフォルトで組み込まれているのか疑問に思っていますか?

modelまた、次のようなフォームでデータ プロパティが設定された場合:

このデータはデフォルトでサニタイズされていますか、それとも自分でサニタイズする必要がありますか?

私の主な質問は、Yii 2 でデータをサニタイズするにはどうすればよいかということだと思います。

0 投票する
2 に答える
999 参照

powershell - リッチテキストボックスの入力をサニタイズして空白行を削除する

リッチテキストボックスの入力をサニタイズして空白行を削除しようとしています。

プログラムを実行すると、入力がサニタイズされ、コマンドが実行されます。

コマンドが実行される前に入力をサニタイズするために使用しているコードは次のとおりです。

コンマまたはセミコロンで区切られたリストの場合、各項目が新しい行に分割されるため、後で各行を配列に入力できます。

私がやろうとしているのは、リッチテキストボックスで行が空白になっているときを見つけて、その行を削除することです。Excel からセルをコピーすると、空白行が発生することがあります。

どんな助けでも大歓迎です。ご不明な点がございましたら、詳しく説明できるよう最善を尽くします。

リッチテキストボックスへの入力例:

望ましいサニタイズされた入力:

**編集:**私は、私のアプリケーションでは機能するが、大量のデータに対してこれを行う必要がある人にとってはうまくいかない、ずさんな解決策を見つけました。(私は巨大なプログラマーではなく、ツールを作成するためだけに使用するので、これをより効率的に行う方法があると確信しています。)

0 投票する
3 に答える
18031 参照

json - サーバー側で JSON Sanitizer を使用するには?

OWASP で言及されている「JSON Sanitizer」検証を実装したいと考えています。私の理解では、これは次の 2 つの場所で行う必要があります。

  1. クライアントまたはその他のシステムから受信した (リクエスト内の) JSON データ - これは、処理する前にサーバー側でサニタイズする必要があります

  2. クライアントに送信される JSON データ (応答中) - これは、クライアントに送信される前にサーバー側でサニタイズする必要があります

その JSON Data の JSON Sanitizing ライブラリでサニタイズ メソッドを呼び出すだけで十分ですか?

それはすべてのサニタイズを実行しますか、それともこの点に関して実行する必要がある他の検証はありますか?