<?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 } ?>