• ベストアンサー

CGIの外部リモート攻撃を防ぐ方法

掲示板等のCGIで、実際CGIが実行されているURLにはアクセスしないで、 各項目のinput name等を読み込み、CGIのURLをフルパスで記述して 他のURLから書き込み等を実行してくる族がいます これを防ぐ方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • uuing
  • ベストアンサー率25% (53/206)
回答No.3

言語はPerlでいいのかな? ---------------------------------------------- #スクリプトのパス $script_path = "http://www.hoge.com/fuga.cgi"; #リファラ照合 sub ref_check { $ref = $ENV{'HTTP_REFERER'}; $ref =~ s/\?.*//; if($ref eq $script_path){&ban;} } #キック処理 sub ban{ print "Content-type: text/html;\n\n"; print "<html>\n"; print "<body>\n"; print "書き込みはシカトされますた。\n"; print "</body>\n"; print "</html>\n"; exit; } ---------------------------------------------- こんな感じでしょうか。 必要に応じて適当に改造してください。

MakoNako
質問者

お礼

エラー処理まで書いていただいて、感謝いたします ありがとうございましたm(_ _)m

その他の回答 (2)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

CGIでHTTP_REFERを確認し、自ホストからのリファーでない物を弾くようにしましょう。

MakoNako
質問者

補足

ありがとうございます できれば該当するCGI内に追加する記述を教えていただければ幸いです

  • uuing
  • ベストアンサー率25% (53/206)
回答No.1

環境変数からリファラを拾って,スクリプトのパスと比較すれば弾けるのではないでしょうか。

MakoNako
質問者

補足

なるほど、ありがとうございます できれば記述を教えていただければ幸いです

関連するQ&A