<?php
/**
* @package Kashub's_AdCatcher
* @version 0.2
* @author Grzegorz 'Kashub' Szefka <grzegorz[at]szefka.com>
* @date 2007-07-21
* @link http://kashub.blogspot.com/2007/07/sposb-programisty-na-blokowanie-reklam.html
*/
// żądany element
$req = $_SERVER['REQUEST_URI'];
// pełny adres żądanego elementu
$full_path = $_SERVER['HTTP_HOST'] . $req;
// jeśli żądany element jest obrazkiem, to tworzymy obrazek
if (eregi('^(.)+(jpg|png|gif|jpeg|svg|bmp)$', $req)) {
// wysłanie do przeglądarki informacji, że wysyłamy obraz gif
header('Content-type: image/gif');
// utworzenie obrazu o szerokości zależnej od długości $full_path i wysokości 20px
$obrazek = ImageCreate(10*strlen($full_path)+30,20);
// kolorujemy tło obrazka na jasny czerwony
$kolor_tla = ImageColorAllocate($obrazek,255,204,204);
// czerwony kolor tekstu
$kolor_tekstu = ImageColorAllocate($obrazek,255,0,0);
// wypisujemy na obrazku adres żądanego elementu
ImageString($obrazek,4,3,2,'[SPAM] ' . htmlspecialchars($full_path),$kolor_tekstu);
// wysyłamy obrazek do przeglądarki
ImageGif($obrazek);
// i niszczymy go, bo już nam nie jest potrzebny
ImageDestroy($obrazek);
}
elseif (eregi('^(.)+(js)$', $req)) { // jeśli zażądano skryptu JavaScript
// nadpisujemy domyślny nagłówek 404 (inaczej przeglądarki uznaja, że skrypt nie istnieje i nie wykonają go)
header('HTTP/1.1 200 OK');
// ustawiamy typ zawartości na javascript
header('Content-type: text/javascript');
// i wypisujemy komunikat
?>document.write('<span style="overflow: auto; background-color: #fee; color: #f00; font-family: courier; font-size: 14px;">'+
'[SPAM]<?php echo htmlspecialchars($full_path); ?></span>');
<?php
}
else { // jeśli nie żądano obrazka ani skryptu, to domyślnie wysyłamy stronę html
?>
<html>
<head>
<title>[ S P A M ]</title>
</head>
<body>
<div style="width: 98%; height: 98%; overflow: auto; background-color: #fee; color: #f00; font-family: courier; font-size: 14px;">
[SPAM] <?php echo $full_path; ?>
</div>
</body>
</html>
<?php
}
?>