[PR]今日のニュースは
「Infoseek モバイル」


 SSIdeny CGI (HTMLページをアクセス制限 ) banner(200*50)

HTMLにSSIのコマンドを貼り付けてIP(host)を制限したり、設定以外のIPを蹴って設定されたIPだけに絞って表示させるCGIです。
アクセス拒否や制限をしたいときにhtaccessが使えれば問題ないのですが、共用サーバでは使用できない場合がほとんどです。
完璧ではありませんが(といってもJava-scriptで制限するよりははるかにましです)だいたいのブラウザでは表示させずにエラーを表示させたり他のサイトへ飛ばすことができます。


制限できるブラウザ [Javascriptが有効なブラウザ、フレームが有効なブラウザ]
サンプル: 
denytest.shtml(すべてのIPを弾く設定になっています)
  • ディレクトリ構成
    □cgi-bin/

     deny.cgi [755]
  • 設置手順
    cgi-bin以下にdeny.cgiを設置します。
    
    次に制限したいHTMLファイルを開き、<HTML>直下に
    
    を貼り付けます。
    
    同じく、</HTML>のすぐ上に
    
    を貼り付けます
    
    
    例)
    <HTML>
    <!--#exec cmd="/usr/local/bin/perl cgi-bin/deny.cgi 1" -->
    <HEAD><TITLE>XXのページ</TITLE>
    </HEAD>
    
    <!--#exec cmd="/usr/local/bin/perl cgi-bin/deny.cgi 2" -->
    </HTML>
    
    まず現在のIPを取得し初期設定に入力後、errorページが表示されれば成功です。
    
    SSIのコマンドはサーバの仕様に合わせ変更してください。
    上のコマンドはiswebでの設定です。
    <!--#exec cmd="/usr/local/bin/perl cgi-bin/deny.cgi 1" -->の/usr/local/bin/perlは
    perlのパスです。
    
    
    
  • 初期設定
    # 飛ばすページ
    $skip = "./cgi-bin/lounge/";
    制限した場合に飛ばすページを設定
    
    # 時間
    $E_TIME = 10;
    飛ばすまでの時間
    
    # アクセス制限(ホスト名、IPアドレス)
    $ip_m = 0;  (1: 使用する 、0:使用しない)
    @ip = ('127.0.0.1','');
    制限したいIPまたはhostを入力します。
    
    # メンテmode(許可するホスト名、IPアドレス)
    $m_mo = 0;   (1: 使用する 、0:使用しない)
    @m_ip = ('','');
    ※アクセス制限とメンテmodeは同時には使用できません。
    
    $Errors = <<"HTML_END";
    <ここにエラーの表示>
    HTML_END
    制限された場合表示するHTMLを記入します。記入しなければ表示なしで別のページへ飛ばします。
    
    
    
  • ダウンロード
    deny.lzh
    
    
    

注意点
・当スクリプトを利用した際のいかなる損害も私は責任を負いません。あなたの責任のもとで設置ください。
・このスクリプトは完全に制限できるものではありません。制限された場合HTMLページは見えませんがソース中には表示されていますので、 見せかけだけと思ってください。