This article applies to:
- Web Filter (WF, R3000, WFR)
Question:
- How can I create a custom blocked page for a Web Filter to show both the blocked information and web-based authentication option on a single page.
- Create a custom blocked page which includes all options. For example, Override account, email etc.
Procedure:
Listed below is a sample.asp page that will include links for the following:
- Web based authentication
- Override account authentication
- Email link that includes the URL in question in the body of the email
Notes:
There are several places below that reference the Web Filter by IP address or Hostname, so just make sure to update those with your Web Filter info.
Sample File:
<%@ Language=VBScript %>
<%
Option Explicit
Dim url, ip, cat, user, str
url = Request.Querystring("URL")
ip = Request.Querystring("IP")
cat = Request.Querystring("CAT")
user = Request.Querystring("USER")
Private Function displayName(str)
select case str
case "ALCO"
str = "Alcohol"
case "ART"
str = "Art"
case "AUTO"
str = "Automobile"
case "BANNER"
str = "Banner"
case "BNL"
str = "Books & Literature"
case "CHAT"
str = "Chat"
case "COMICS"
str = "Comics"
case "COMORG"
str = "Community Organizations"
case "CULTS"
str = "Cults"
case "DATE"
str = "Personals"
case "DRUGS"
str = "Drugs"
case "DUBIUS"
str = "Unsavory / Dubious"
case "EDUCAT"
str = "Education"
case "EDUCHT"
str = "Education Cheating"
case "EDUGAM"
str = "Educational Games"
case "EMPL"
str = "Employment"
case "ESTATE"
str = "Real Estate"
case "EXART"
str = "Explicit Art"
case "FASHN"
str = "Fashion"
case "FINAN"
str = "Finance"
case "FITNS"
str = "Fitness"
case "FREEHST"
str = "Free Hosts"
case "GAMB"
str = "Gambling"
case "GCRIMI"
str = "Criminal Skills"
case "GENBUS"
str = "General Business"
case "GENTER"
str = "Entertainment"
case "GGAMES"
str = "Games"
case "GNEWS"
str = "News"
case "GOVT"
str = "Government"
case "GPORN"
str = "General Pornography"
case "GRTCRD"
str = "Online Greeting Card"
case "GSTREAM"
str = "Streaming Media"
case "HACK"
str = "Hacking"
case "HATE"
str = "Hate Groups"
case "HEALTH"
str = "Health / Medical"
case "HOLSTC"
str = "Holistic"
case "HUMOR"
str = "Humor"
case "INSTMS"
str = "Instant Messaging"
case "INTECH"
str = "Information Technology"
case "IRADIO"
str = "Internet Radio"
case "ISP"
str = "Internet Service Provider"
case "KDPORN"
str = "Child Pornography"
case "LCOMM"
str = "Local Community"
case "LEGAL"
str = "Legal"
case "LIFE"
str = "Lifestyle"
case "MALCOD"
str = "Malicious Code / Spyware / Virus"
case "MESBRD"
str = "Message Boards"
case "MILAPP"
str = "Military Appreciation"
case "MILOFL"
str = "Military Official"
case "MOVTEL"
str = "Movies & Television"
case "MUSAPP"
str = "Music Appreciation"
case "OBSC"
str = "Obscene / Tasteless"
case "ONLCLS"
str = "Online Classes"
case "OUTREC"
str = "Outdoor Recreation"
case "PARNML"
str = "Paranormal"
case "POLTIC"
str = "Political Opinion"
case "PR2PR"
str = "Peer to Peer / File Sharing"
case "PROXY"
str = "Public Proxies"
case "RECREA"
str = "Recreation"
case "REFERE"
str = "Reference"
case "RELIG"
str = "Religion"
case "RELOPN"
str = "Religious Opinion"
case "RRATED"
str = "R Rated"
case "SE"
str = "Search Engines"
case "SELFDE"
str = "Self Defense"
case "SHOP"
str = "Shopping"
case "SOCOPN"
str = "Social Opinion"
case "SPORTS"
str = "Sports"
case "TERROR"
str = "Terrorist / Militant / Extremist"
case "THEATR"
str = "Theater"
case "TICKET"
str = "Tickets"
case "TOBACCO"
str = "Tobacco"
case "TRAFIC"
str = "Weather / Traffic"
case "TRAVEL"
str = "Travel"
case "WEAPN"
str = "Weapons"
case "WEBLOG"
str = "Web Logs"
case "WEMAIL"
str = "Web Based Email"
case "WNEWS"
str = "Web Based Newsgroups"
case "WSTORE"
str = "Web Based Storage"
case else
End select
displayName = str
End Function
cat = displayName(cat)
%>
<HTML>
<HEAD>
<script language=javascript>
function parseData(str, start, end)
{
result = "";
i = str.indexOf(start);
if (i >= 0) {
len = str.length;
substr = str.substr(i+start.length, len - start.length);
j = substr.indexOf(end);
if ( j > 0) {
result = substr.substring(0, j);
}
else {
if ( j != 0) {
len = substr.length;
result = substr.substr(0, len);
}
}
}
return result;
}
function getData(){
str = document.location.href;
len = str.length;
i = str.indexOf("?");
if ( i>= 0) {
query = str.substr(i+1, len-i-1);
url = parseData(query, "URL=", "&");
document.block.URL.value = url;
ip = parseData(query, "IP=", "&");
document.block.IP.value = ip;
cat = parseData(query, "CAT=", "&");
document.block.CAT.value = cat;
user = parseData(query, "USER=", "&");
document.block.USER.value = user;
}
}
function do_options(){
document.block.action="http://your filter ip:81/cgi/block.cgi"
document.block.submit();
}
</script>
<h3>The web site has been blocked in accordance with internal regulations.</h3>
<br><br>
</HEAD>
<BODY>
<form method=post name=block >
<input type=hidden name="SITE" value="_BLOCK_SITE_">
<input type=hidden name="URL" value="">
<input type=hidden name="IP" value="">
<input type=hidden name="CAT" value="">
<input type=hidden name="USER" value="">
<input type=hidden name="STEP" value="STEP2">
</form>
<br><br>
<TABLE>
<tr><td align=right>Unauthorized Web Address:</td><td width=30></td><td><%=url%></td></tr>
<tr><td align=right>Computer Workstation IP Address:</td><td width=30></td><td><%=ip%></td></tr>
<tr><td align=right>Blocked Category:</td><td width=30></td><td><%=cat%></td></tr>
<tr><td align=right>User Group Identification:</td><td width=30></td><td><%=user%></td></tr>
</TABLE>
<script language=javascript>
getData();
</script>
<br>
<br>
<p>For Web-based Authentication, <a href="&IP=<%=IP%>">
<a href="https://Filter IP or hostname:8081/AuthenticationServer/AuthenticationForm.jsp?URL=<%=URL%>&IP=<%=IP%>">Click Here</a></p>
<p><span class="contentbold">To submit this blocked site for review,
<a href="mailto:admin@yoursite.com?subject=Request For Review&body=Please review the following:%0d%0dURL:<%=url%>%0dCategory: <%=cat%>">Click Here</a>
</p>
<p>For further options, <a href="javascript:do_options()">Click Here</a></p>
<br><br>
</BODY>
</HTML>