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

クッションページ(ENV['PATH_INFO'])

#! /usr/local/bin/ruby

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

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

print "Content-type: text/html; charset=Shift_JIS\n\n"
print <<END
    <html>
    <head>
END

if check == 1
    print "<meta http-equiv=\"refresh\" content=\"#{tm};url=#{url}\">\n"
end

print <<END
    <title>クッションページ #{url}</title>
    </head>
    <body>
END
if check == 1
    print <<-END
        <center style="padding:100px 10px;font-size:22px;color:#666">
            #{tm}秒後に指定のページに移動します。<br>
            <br>
            <a href="#{url}">#{url}</a><br>
        </center>
    END
end
print <<END
    <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>
            【クッションページとは】<br>
            外部サイトにリンクする際にリンク先アドレスの確認や、
            リンク先サイトのアクセス解析でリンク元アドレス取得を防ぐ目的で使用されます。<br>
            (クッションページを使用するとリンク元アドレスはクッションページのアドレスとなります。)<br>
        </td>
    </tr>
    </table>
    <br><br><br><br><br>
    <center><a href="/">トップページへ</a></center>
    </body>
    </html>
END

exit
CGI(Ruby)
Hello world ! ユーザーエージェント取得・表示(ENV['HTTP_USER_AGENT'])
IPアドレス取得・表示(ENV['REMOTE_ADDR']) リンク元取得・表示(ENV['HTTP_REFERER'])
URL取得・表示(ENV['HTTP_HOST'], ENV['REQUEST_URI']) 環境変数一覧(ENV.each)
日時を取得・表示(Time.now) 指定の日までの日数を表示
時刻によって挨拶文を変える 日によって背景色を変える
見るたびに背景色を変える 見るたびに背景画像を変える
おみくじ(rand) カラーチャート
グラフ(横棒グラフ) アクセスカウンター
アクセスカウンター(画像) 訪問回数(クッキー)
パスワード認証 クッションページ(ENV['QUERY_STRING'])
クッションページ(ENV['PATH_INFO']) カレンダー
カレンダー(今年1月〜12月) カレンダー(今年1月〜12月, 前年次年リンク付)
掲示板 ディレクトリ内ファイル一覧表示
リダイレクト(Location) 条件指定リダイレクト(Location)
条件指定アクセス拒否(ステータスコードを返す) HTMLファイル読み込み・表示
HTMLファイル読み込み・パスワード認証 HTMLファイル読み込み・条件指定アクセス拒否
HTMLファイル読み込み・条件指定リダイレクト 外部CGIファイル読み込み(require)
画像ファイル読み込み・表示
かんたん作成【HTML CSS JavaScript PHP CGI Perl Ruby Python .htaccess】