かんたん作成【HTML CSS JavaScript PHP CGI Perl Ruby Python .htaccess】

クッションページ($ENV{'PATH_INFO'})

#! /usr/local/bin/perl

# 移動時間指定(秒後)
$tm = 5;

# リンク先URL取り込み
if($ENV{'PATH_INFO'}) {
    $url = $ENV{'PATH_INFO'};
        # $ENV{'PATH_INFO'}の先頭は/
        # $ENV{'PATH_INFO'}の連続する/は1つに変換されている
        # http://www.*****.com/ の場合 http:/www.*****.com/ となっている
        # リンク先に?が含まれる場合、?以降は$ENV{'QUERY_STRING'}で取得
    if($url =~ /^(\/)(\w+:\/)/) {            # http:/ありの場合
        $url =~ s/^$1($2)/$1\//;        # 先頭の/を削除、http:/の後に/を付け加えhttp://に
    }
    else {                        # http:/なしの場合
        $url = "http:/" . $url;            # http:/を付け加える
    }
    if($ENV{'QUERY_STRING'}) {            # ?以降を取得、連結
        $url .= "?" . $ENV{'QUERY_STRING'};
    }
}

print qq(Content-type: text/html; charset=Shift_JIS\n\n);
print <<END;
    <html>
    <head>
END
if($url =~ /^\w+:\/\//) {
    print qq(    <meta http-equiv="refresh" content="$tm;url=$url">\n);
}
print <<END;
    <title>クッションページ $url</title>
    </head>
    <body>
    <center style="padding:100px 10px;font-size:22px;color:#666">
        $tm秒後に指定のページに移動します。<br>
        <br>
        <a href="$url">$url</a><br>
    </center>
    <table align="center">
    <tr>
        <td>
            【クッションページの使い方】<br>
            リンク先のアドレスの前に
            https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/
            を入力してください<br>
            (例)&lt;a href="https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/http://www.*****.com/"&gt;
            リンク
            &lt;/a&gt;<br>
            <br>
            リンク先アドレスのhttp://は省略できます。<br>
            (例)&lt;a href="https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/www.*****.com/"&gt;
            リンク
            &lt;/a&gt;<br>
            <br>
            【クッションページとは】<br>
            外部サイトにリンクする際にリンク先アドレスの確認や、
            リンク先サイトのアクセス解析でリンク元アドレス取得を防ぐ目的で使用されます。<br>
            (クッションページを使用するとリンク元アドレスはクッションページのアドレスとなります。)<br>
        </td>
    </tr>
    </table>
    <br><br><br><br><br>
    <center><a href="/">トップページへ</a></center>
    </body>
    </html>
END

exit;
CGI(Perl)
Hello world ! ユーザーエージェント取得・表示($ENV{'HTTP_USER_AGENT'})
IPアドレス取得・表示($ENV{'REMOTE_ADDR'}) リンク元取得・表示($ENV{'HTTP_REFERER'})
URL取得・表示($ENV{'HTTP_HOST'}, $ENV{'REQUEST_URI'}) 環境変数を全て表示(%ENV)
ホスト名取得・表示(gethostbyaddr) 訪問者のプロバイダーを表示
訪問者の都道府県を取得・表示 日付を表示(localtime time)
日付を画像表示(localtime time, substr) アクセス日時を表示(localtime time)
指定の日までの日数を表示 曜日によって背景色を変える
日によって背景色を変える 月によって背景色を変える
見るたびに背景色を変える 見るたびに背景画像を変える
おみくじ(rand, int) カラーチャート
Shift_JIS文字コード表 UTF-8文字コード表
グラフ(横棒グラフ) アクセスカウンター
アクセスカウンター(画像) アクセスカウンター(今日・昨日)
訪問回数(クッキー, $ENV{'HTTP_COOKIE'}, Set-Cookie) アクセスログ保存
アクセスログ集計 パスワード認証
クッションページ($ENV{'QUERY_STRING'}) クッションページ($ENV{'PATH_INFO'})
フォーム入力内容をクッキーに保存 1つのCGIでフレームページを表示
IPアドレスからホスト名を取得(gethostbyaddr) ホスト名からIPアドレスを取得(gethostbyname)
IPアドレスからプロバイダーを取得 IPアドレスから都道府県を取得
文章中の文字列を別の文字列に一括変換 カレンダー
カレンダー(前月・次月へのリンク付) カレンダー(今年1月〜12月)
掲示板 掲示板(URL自動変換/連続改行・スペース削除)
掲示板(年齢・性別・都道府県選択) 画像アップロード掲示板
チャット Web日記
サイトマップ(ディレクトリ内のファイルを調べる) Webデータ取得(HTTPヘッダー, HTMLソース, use Socket)
Webデータ取得(HTTPヘッダー, HTMLソース, use HTTP::Request::Common) トラックバック受信
トラックバック送信 メール送信(メールフォーム, sendmail)
リバーシ(ボードゲーム) .htaccessユーザー認証用ユーザーファイル作成
リダイレクト 条件指定リダイレクト
言語振り分けリダイレクト 条件指定アクセス拒否(ステータスコードを返す)
HTMLファイル読み込み・表示 HTMLファイル読み込み・パスワード認証
HTMLファイル読み込み・条件指定アクセス拒否 HTMLファイル読み込み・条件指定リダイレクト
外部CGIファイル読み込み(require) 画像ファイル読み込み・表示
画像縮小・拡大・サイズ変更(Image::Magick, Resize) 画像切り出し(Image::Magick, Crop)
画像文字埋め込み(Image::Magick, Annotate) 画像合成(Image::Magick, Composite)
画像生成・保存(Image::Magick->new) 画像合成アクセスカウンター
かんたん作成【HTML CSS JavaScript PHP CGI Perl Ruby Python .htaccess】