質問: urlの一部を見てアクセス制限 ある掲示板の改造で特定のurl以外からのアクセスを弾くものを作りたいのですが うまくいきません。 if($env{http_referer} ne 'http://www.***.ne.jp/***.html(正規のリンク元)'){ if($env{http_referer} ne 'http://www.***.ne.jp/***.cgi(掲示板のurl)'){ &error('不正アクセスです'); exit; } } で、始めはうまくいったのですが、掲示板で次のページに行こうとすると urlがhttp://www.***.ne.jp/***.cgi?page=2のように引数が付いてしまい、 不正アクセス扱いされてしまいます。 そこで、引数を覗いたhttp://www.***.ne.jp/***.cgiが含まれるもの全てを アクセス可能にしたいのですが、http_refererとどのように一致させるのか わからないのです。 どのように記述すれば良いのでしょうか?
回答: if ($env{http_referer} !=~ /○○/) のようにマッチングを取ればいいと思います。 参考url:http://tohoho.wakusei.ne.jp/wwwperl1.htm#machingoperand