この記事には独自研究が含まれているおそれがあります。 問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2011年4月) コンピュータセキュリティ技術において、サンドボックス (sandbox) は、外部から受け取ったプログラムを保護された領域で動作させることによって、システムが不正に操作されるのを防ぐセキュリティ機構のことをいう[1]。 実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させようとしてもシステムに影響が及ばないようになっている。 ウェブページに配置されたJavaアプレットやFlash、JavaScriptなどのプログラムは自動的に実行される。そのため、気づかないうちにコンピュータ上にあるファイルを盗み見られたり書き換えられたり、ある
RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。 Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という 仕組みによってなりたっています。 オブジェクトの汚染 Rubyではオブジェクトは「汚染されている」とみなされることがあります。この しくみは大きく分けて二つの使われ方をします。 ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意 あるデータによって、プログラムが意図しない動作をする事を防ぐことを目的と しています。 もうひとつは、信用しているオブジェクト(汚染されていないオブジェクト)を 信用できないプログラムから守るという使い方です。 セーフレベル4で汚染されていないオブジェクトへの操作が大幅に制限されるの はこの
RubyのObject.dupとObject.cloneの違いは、特異メソッドとfreezeをコピーするかどうかである。 Object.cloneの方がコピーされる情報が多いが、一般的な用途にはObject.dupで十分だ。 以下は検証コード。 obj1 = Object.new obj1.taint def obj1.singleton_method; end obj1.freeze obj2 = obj1.dup obj3 = obj1.clone p obj1.tainted? #=> true p obj1.respond_to?(:singleton_method) #=> true p obj1.frozen? #=> true p obj2.tainted? #=> true p obj2.respond_to?(:singleton_method) #=> false p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く