差分

ナビゲーションに移動 検索に移動
編集の要約なし
31行目: 31行目:  
variable スクリプトからの戻り値
 
variable スクリプトからの戻り値
   −
=====非推奨である理由=====
+
====非推奨である理由====
 +
Interpreter_Processは潜在的にセキュリティのリスクを含みます。次の例のようなコードは非常に危険です。
   −
Interpreter_Processは文字列の任意のコードを実行する危険な関数です。悪意のある者に影響を受ける可能性のある文字列を使用してInterpreter_Processを実行すると、あなたのプログラムで悪意のあるコードを実行してしまう可能性があります。残念なことに、初心者の多くがInterpreter_Process等の機能を実行してします傾向にあるようです。しかし多くの場合あなたがInterpreter_Processを使用して行いたいことにはより良い別の解決策があります
+
<code>
 +
script = web_download_text("http://localhost/wrong.alice");
 +
foo = Interpreter_Process(script);
 +
</code>
 +
 
 +
悪意のある者によって"http://localhost/wrong.alice"が例えば(そのような関数が存在しないとはいえ)<code>delete_system()</code>のように改ざんされているとすると、実際に<code>delete_system()</code>関数が実行されてしまい、システムが削除されてしまう可能性があります。
 +
これを防ぐためにはInterpreter_Processに渡される文字列はすべてエスケープしたものを使用するか、あるいはこの関数を使用しないべきです。

案内メニュー