I think that the headers option is a good one. I think fopen() would not encounter problems with URL rewriters or supplied folders, because the request is sent to the server the page holds, and will be managed by it so that the correct page is returned.
I think a URL pattern that should be disabled is links to people's local hard drives :P
The "report broken link" option could be extended to other things too, since there are more than just links to be wary of on the Internet these days. For instance, an excess in images/ads that causes page loads to be really slow, offensive content surrounding the tutorial, an excess in popups or malicious or dangerously broken scripts, etc. It is possible that the person who submits the link does not think those things are much of a problem, or it is possible that those things change over time. There could be other reasons.
... Maybe to check if a link has changed you could, instead of caching source code, cache a few paragraphs of the tutorial, so that you can tell if the tutorial is still there or not. I.e. you could copy in three random paragraphs, and then look for them in the source code of the page, and if none of them are there, the link should be checked.
_jameshales
__________________
Death to the non-believers!
|