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

HTMLファイル読み込み・条件指定アクセス拒否

#! /usr/local/bin/ruby

arr = [                            # アクセス拒否条件
    # 特定ユーザーエージェント拒否の場合
    [ENV['HTTP_USER_AGENT'], "DoCoMo"],
    [ENV['HTTP_USER_AGENT'], "KDDI"],
    [ENV['HTTP_USER_AGENT'], "Softbank"],
    # 特定IPアドレス拒否の場合
    [ENV['REMOTE_ADDR'], "111.222.333.444"],
    # 特定リンク元拒否の場合
    [ENV['HTTP_REFERER'], "https://www.webings.net/"]
]
arr.each { |k, v|
    if k =~ /#{v}/
        print "Status: 403 Forbidden\n\n"    # ステータスコード403を返す
        exit
    end
}
print "Content-type: text/html\n\n"
print open("../../sample/sample1.html", "r").read    # HTMLファイル読み込み

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】