perlスクリプトそのまま表示
topへ
おすすめ記事
emyuu cms Freebsd12.0LAMP Freebsd10.0LAMP

2015-01-15 23:22:15

perlスクリプトそのまま表示

cgiであるperlスクリプトなんて今さら、動作がおかしい!

なんて救援依頼がきて、サーバー側をみてみると。

そのまま表示されちゃってる。

cgiでもphpと違ってperlスクリプトをwebで使うことはおすすめしない。

サーバー側apcheを更新した時のミス特に

apache2.4からはほぼ同じ動作なのにモジュールが違ってたりする。

僕のようにバカな管理者だとperlなんてつかわないだろと、何十年も昔のが入って

いるのに、http.confの設定を忘れて、結果プログラムがそのまま表示

中のパスワードももろばれなんてことにもなりかねない。

サーバー管理者がミスったことを、

いくら.htaccessの記述ミスだろうと、利用者ががんばってもどうにもこうにも。

Options +ExecCGI
AddHandler cgi-script .cgi

とか

テスト用

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

いれてもそのまま表示されるだけだよね。

 

まあ、モジュールも一緒にロードできる人なら.htaccessの記述変更でなんとか

なるだろうけど、そんな人はroot管理者でそ。

てなことで、メモ

apache2.4からは
LoadModule cgid_module modules/mod_cgid.so
 
apache2.2は
LoadModule cgi_module modules/mod_cgi.so
だけどもこっちのほうが、エラーログがわかりやすいので
2.4でもこっちでいいかも。
 

たまちゃんのおかげでわかりました。

 

 ああ、ちなみに、/usr/bin/perlもfreebsd 10.0から/usr/local/bin/perl になって気するし。