Not all companies have programs or licences for content filtering on their networks. It is arguably worth the $10-$60 per employee/year to licence a content filtering package in terms of increased productivity. What is difficult is selling the idea of spending a large chunk of money to management, especially in this economy. I would imagine a large number of companies can pinpoint their bandwidth and productivity problems to 10 or fewer websites. Facebook, Myspace, Youtube, etc…
Below is a logon script for Windows that will analyze the user’s hosts file and modify it accordingly to block Facebook or any other website you wish. It simply redirects to 127.0.0.1 (home).
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
hostsFile = objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\system32\drivers\etc\hosts"
strIP = "127.0.0.1"
strValue = "facebook.com"
If objFSO.FileExists(hostsFile) Then
Set objTextFile = objFSO.OpenTextFile(hostsFile, ForReading)
Else
Set myFile = objFSO.CreateTextFile(hostsFile, True)
myFile.WriteLine "127.0.0.1 localhost"
myFile.WriteLine strIP & " " & strValue
Wscript.Quit
End If
strFlag = 0
Do Until objTextFile.AtEndOfStream
strLine = Trim(objTextFile.ReadLine)
If InStr(strLine, strIP) > 0 Then
If InStr(strLine, strValue) > 0 Then
strFlag = "1"
End If
End If
Loop
objTextFile.Close
If strFlag = 0 Then
Set objTextFile = objFSO.OpenTextFile(hostsFile, ForAppending)
objTextFile.WriteLine vbCrLf & strIP & " " & strValue
End If
Set objShell = CreateObject("WScript.Shell")
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
hostsFile = objShell.ExpandEnvironmentStrings("%SystemRoot%") & "\system32\drivers\etc\hosts"
strIP = "127.0.0.1"
strValue = "facebook.com"
If objFSO.FileExists(hostsFile) Then
Set objTextFile = objFSO.OpenTextFile(hostsFile, ForReading)
Else
Set myFile = objFSO.CreateTextFile(hostsFile, True)
myFile.WriteLine "127.0.0.1 localhost"
myFile.WriteLine strIP & " " & strValue
Wscript.Quit
End If
strFlag = 0
Do Until objTextFile.AtEndOfStream
strLine = Trim(objTextFile.ReadLine)
If InStr(strLine, strIP) > 0 Then
If InStr(strLine, strValue) > 0 Then
strFlag = "1"
End If
End If
Loop
objTextFile.Close
If strFlag = 0 Then
Set objTextFile = objFSO.OpenTextFile(hostsFile, ForAppending)
objTextFile.WriteLine vbCrLf & strIP & " " & strValue
End If
Another alternative is to block the IP address of the website using rules on your gateway firewall (Windows or router). The problem with this method is many of the larger sites have multiple IP addresses and adding block lines for each is tedious work. You can block entire ranges of IP addresses. Example: Adding 69.63.0.0/16 would block 69.63.0.0 – 69.63.255.255 (65,536 total addresses – 16bit block). Be careful though, some “good” websites may be in the ranges you block, but in a pinch, it does the job.
Finally, Untangle is an open source gateway that can be run on Windows or on its own dedicated server. It includes content filtering in addition to a multitude of other features. Try it out.
No comments:
Post a Comment