Kleines Problem am Hotlinking Script

Hier eine etwas vereinfachte Lösung mit regulären Ausdrücken:
PHP:
<?php

	$regex = array(
		'invalid-referer'	=> '^http://(www\.)?eblogx\.(com|de|net)/?.*$',
		'request-uri'		=> '.*\.(gif|jpe?g|bmp|wm[av]|mp3|mpe?g|avi|mov)$'
	);
	if( isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && !preg_match('/'.addcslashes($regex['invalid-referer'], chr(0x2F)).'/i', $_SERVER['HTTP_REFERER']) && preg_match('/'.addcslashes($regex['request-uri'], chr(0x2F)).'/i', $_SERVER['REQUEST_URI']) ) {
		header($_SERVER['SERVER_PROTOCOL'].' 403 Forbidden');
	}

?>
 
Tja, ich hätte die Anfragen wieder mit „mod_rewrite“ an ein verarbeitendes Skript umgeschrieben.
 
Zurück