Forum Overview
::
Motherfucking News
::
Also known as hardlinking or just 'inlining'
[quote name="TNC"]OK, so you can inline an image into a post (make it appear in a post while hosted on some other webserver) by typing (img src="http://www.geocities.com/somefag/someimage.jpg") with parenthesis as greater-than/less-than, right? OK, what happens when you do this: First that information is posted to the Caltrops forum DB by John Poster, forget how as it doesn't matter. Then John Reader types in the URL into his browser, his browser opens a connection (or a 'socket') to 206.124.137.13 port 80 and sends something along these lines: <b>"GET /pointy.php?action=viewPost&pid=14412 HTTP/1.1"</b> -- Actual example of the post in question, with a space seperating the 'action', 'resource to retrieve' and 'protocol to use' portions This is the main line, what follows are any many different headers defined in the HTTP/1.1 specification (or the far fewer defined in HTTP/1.0). One of these is required, but most browsers send FAR more. There are 46 total headers for 1.1 (I believe this includes server and browser) and 16 for 1.0. One of the nastiest is the 'referrer' header, which lets the server handling the request know where that request came from . . . it has been profusely abused for tracking how and where people surf, and has also destroyed the functioning of the Internet as was intended (as seen in the example of those broken images) So Caltrops sees headers like this line: "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MSNIA; Windows 98; Win 9x 4.90)" as well as many others. It digs up the post from the forum DB, constructs the HTML page and sends back: HTTP/1.0 200 OK Date: Fri, 21 Jun 2003 20:01:39 GMT Content-Type: text/html Content-Length: 9525 (everything you see when you 'view source' goes here) So, great, your browser now has the text of the HTML for the webpage - which tells it nothing about the images. So it goes and creates one of those little 'GET' requests for each and every image defined in the HTML, and when it comes to the (broken) ones linked in the post itself, it sends little GET requests out to Orlandomultimedia.net. Unfortunately it also tells Orlandomultimedia.net's webserver that the REFERRER was . . . Caltrops.com! PROBLEM. See, Orlandomultimedia.net is running, according to Netcraft <a href="http://uptime.netcraft.com/up/graph/?host=orlandomultimedia.net">here</a>, the following (deep breath): "Apache/1.3.27 (Unix) DAV/1.0.3 mod_bwprotect/0.2 mod_log_bytes/1.2 mod_bwlimited/1.0 PHP/4.3.2 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b on Linux" Now that bwprotect 0.2 mod sees the referrer header in those two image GET requests and says "HEY! That's not coming from an .html page I host! Some other webserver is trying to use my bandwidth to host an image!" and throws up a very low-bandwidth garbage image in place of the actual image. They are preventing what is known as inlining or hotlinking or hardlinking or to people very very short on bandwidth 'stealing' - if it ever happens with Caltrops a lot I'll slap on mod_rewrite (which does the same thing as bwprotect only it's far more kid-tested/mother-approved) to put a stop to it. AND NOW YOU KNOW! --TNC[/quote]