私は、信頼できないオブジェクトを汚染されたものとしてマークする可能性を認識していますが、根底にある目的は何ですか?Rubyオブジェクトの汚染の目的は何ですか?
答えて
以前はPerlでCGIを書くときには、かなり標準的な方法でした。 There is even a FAQ on it.基本的な考え方は、実行時間が暗黙のうちにを信用していないことを保証することでした。は汚染された値です。
質問は「ruby」とタグ付けされているので、Rubyはこの機能をPerlからコピーしました。 – ephemient
おっと、私はそれに言及するのを忘れていました。ありがとうございました。 –
信頼できないデータが誤って計算、トランザクション、またはコードとして解釈されないようにするため、セキュリティ上の注意が必要です。
組み込み言語機能によるトラッキングのトラッキングは、コーディング規則による追跡やコードレビューに依存するよりも明確で信頼性が高くなります。
例えば、ユーザーからの入力は、データベースへの挿入のために正しくサニタイズされるまで、一般に「信頼できない」とみなすことができます。入力を汚染されたものとしてマークすることにより、Rubyは十分な衛生管理を行い、潜在的なSQLインジェクション攻撃を防ぎます。いくつかの古き良きジョエルを読んで、汚染はPerlやRubyのモジュールなしで追跡した方法を示しています(2005年)、「古代」コーディング方法の例については
:
- 1. Pythonの:汚染
- 2. Freemarkerデータモデルの汚染
- 3. Scalaのケースオブジェクト汚染
- 4. ナンシー配列の値 "汚染"
- 5. 汚染されたキャンバス
- 6. ノードセレクターに対する汚染モデルのメリット
- 7. 私のコードベースを汚染するnode_modules
- 8. make_pair名前空間の汚染
- 9. ResizeStop名前空間の汚染なし
- 10. CSRFとHPPの違い(HTTPパラメータ汚染)?
- 11. angularjsでglobalを汚染しない
- 12. Visual Studioの汚染からソースコードファイルを抽出するには?
- 13. オープンソースの汚染ツールはありますか?
- 14. Rubyプロジェクトの "lib"ディレクトリの従来の目的は何ですか?
- 15. RubyのNumeric's Rectangularメソッドの目的は何ですか?
- 16. Rubyのbind/unbindメソッドの目的は何ですか?
- 17. システムコールを使用したキャッシュ汚染
- 18. ダブルスは私のBigDecimalの数学を汚染しています
- 19. GPLライセンスは汚染されていますか?
- 20. 静的解析レポートで「汚染されたパラメータ」を取り除く方法は?
- 21. 3党のapiまたは汚染関連の統計情報
- 22. jqueryがグローバル名前空間を汚染しないのはなぜですか?
- 23. Haskellでの名前空間汚染の回避
- 24. FileオブジェクトのwebkitRelativePathプロパティの目的は何ですか?
- 25. JQueryオブジェクトの約束の目的は何ですか?
- 26. Rubyの "undef"オブジェクトとは何ですか?
- 27. 汚染されたリモートのマスターブランチまたはAnti-Cherry-Pick
- 28. MongoDBのレプリカセットは、「初期起動」にログインし、アービタを汚染
- 29. Chrome:汚染されたキャンバスはエクスポートできません。オフラインオンリーアプリケーション
- 30. JavaScriptのRegExpコンストラクタの汚染プロパティを防止する
あなたがまた見てみたいことがありますat $ SAFE –