セキュリティ上のリスク
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/24 02:36 UTC 版)
信頼されないソースからのデータをevalするときには特に注意が必要である。例としてインターネット上からデータを得る get_data() 関数を考える。次の擬似コードのようなプログラムは潜在的に危険である。 data = get_data()foo = eval(data) 攻撃者がこのプログラムに例えば "delete_system_files()" という文字列を与えることができると、delete_system_files() 関数が実行されてしまい、重要なファイルが消されてしまうかもしれない。これを防ぐためには、evalされる文字列はすべてエスケープしたり、潜在的に危険な機能を利用できないようにして実行するなどの対策が必要となる。プログラミング言語によっては、外部から入力されたデータを「汚染されている」として印をつけるものもある。
※この「セキュリティ上のリスク」の解説は、「eval」の解説の一部です。
「セキュリティ上のリスク」を含む「eval」の記事については、「eval」の概要を参照ください。
- セキュリティ上のリスクのページへのリンク