条件指定アクセス拒否(ステータスコードを返す)
#! /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を返す場合 # print "Status: 404 Not Found\n\n" # ステータスコード404を返す場合 # print "Status: 500 Internal Server Error\n\n" # ステータスコード500を返す場合 exit end } print "Content-type: text/html\n\n" print <<END <html> <head> <title>リダイレクト(条件指定)</title> </head> <body> ようこそ!!<br> </body> </html> END exit
〔 実行する 〕