Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have this script that I have saved as a .bat file. Can it hurt a computer?

echo # >> %Windir%\System32\drivers\etc\hosts
echo 0.0.0.0    www.facebook.com >> %Windir%\System32\drivers\etc\hosts

I was just wondering if this can have any side effects on the computer at all like a corruption of something? I don't think it is possible. All it does is make Facebook show a DNS error by changing the hosts file.

share|improve this question
    
If you want to get rid of Facebook there are better alternatives (addins/extensions) for the various browsers. This will work, but facebook.com has so many subdomains it's almost pointless. Also a proxy (Privoxy etc) can filter web sites and will therefore remove any links to facebook, for example. Anyway, without fuzzy matching this makes not much sense and the hosts file doesn't allow for that. –  0xC0000022L Mar 6 '13 at 1:22
    
This will have to be run as administrator to work, in case you didn't know. Also, they could just use facebook.com, the ip address, facebook.us, etc... I would recommend another method. –  ekaj Mar 6 '13 at 1:26
add comment

4 Answers

Normally I've seen people use localhost instead of 0.0.0.0. I don't know the reason for this; but it shouldn't be a big deal.

Other than that; this script is completely okay. Note that you will not be able to use Facebook after running this script but I think that's what you're trying to accomplish.

share|improve this answer
2  
The difference between 0.0.0.0 and localhost is that the first is not a valid IP address, and the second is the IP address of the local PC. Using localhost will redirect packets to the local PC rather than nowhere. If, for instance, you have a web server on the local PC then it will serve up a page rather than the request going nowhere. Either is valid. It depends on what you want. –  Wayne Johnston Mar 6 '13 at 1:23
add comment

Its pretty safe. If you are worried, the only thing you need to do is back up your %Windir%\System32\drivers\etc\hosts file, and then restore it if things don't work as expected.

You might also want to add a line

echo "127.0.0.1    localhost" >> %Windir%\System32\drivers\etc\hosts

To the bottom of the file as its good to have that defined.

It is possible that if any other file adjusts your "hosts" file (eg an "ad blocker", this script would revert that change)

share|improve this answer
add comment

The script works well as long as the last line of the hosts file has been terminated.

If the last line is (no linebreak at the end)

127.0.0.1    localhost

it will read

127.0.0.1    localhost#

afterwards. This only works since # is the comment character; any other character would break a couple of things, but the "damage" would be easily reversible.

To insert a linebreak at the end of the hosts file, execute

echo.>> %Windir%\System32\drivers\etc\hosts

before the other commands.

share|improve this answer
1  
Thanks the reason i put the # in there was for that exact reason. some hosts files dont have another line so i put # there to make it start a new line for the actual remapping. becasue that file dosnt count the # as anything. so does the "." make a new line in the file? –  Megaeverything Mar 6 '13 at 1:27
1  
Yes, echo. (no space between echo and .) prints a newline. –  Dennis Mar 6 '13 at 1:28
    
I checked and the # does no harm, but I still think the newline in the cleaner approach. –  Dennis Mar 6 '13 at 1:34
    
ok ill try that. thanks –  Megaeverything Mar 6 '13 at 1:41
add comment

No side effects at all. It just redirect the Facebook to your local loopback 0.0.0.0. Simple and effective way to make the facebook dns error.

share|improve this answer
    
thanks for the feedback –  Megaeverything Mar 6 '13 at 2:24
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.