Dem Kunsi sein Blog

24.07.2010 Aktion "Überwach!"

 

Hole aktuellen Tweet ...


Nicht unterstützter Browser

Diese Seite verwendet den neuen Webstandard HTML5. Ihr Browser unterstützt diesen Standard allerdings möglicherweise nicht oder nur unvollständig. Um die Seite vollständig benutzen zu können, empfehlen wir, einen Browser zu verwenden, der HTML5 unterstützt.

Juli

24

Aktion "Überwach!"

So, ich hab bei mir auch mal das Projekt der Aktion ÜBERWACH! eingebunden. Da ich Javascript aber vermeide, wo immer es geht, bzw. eine gescheite Alternative anbieten will, hab ich den Code mal einfach in PHP neu geschrieben:

Ich mach hier aber mal einen Seitenumbruch rein, sonst wird die Startseite so ewig lang ...

index.php

  1.     <?php
  2.         $uberwach_ips = array(
  3.                                 '193.17.232.0-193.17.247.255', '192.109.71.0-192.109.71.255', '193.17.88.0-193.17.95.255', '193.158.73.40-193.158.73.47', '193.102.16.0-193.102.16.255', '193.17.88.0-193.17.95.255',
  4.                                 '193.175.51.0-193.175.51.255', '193.196.130.0-193.196.131.255', '193.22.240.0-193.22.241.255', '193.22.246.0-193.22.247.255', '194.117.124.151-194.117.124.151', '194.180.44.0-194.180.48.255',
  5.                                 '194.196.76.0-194.196.76.255', '194.94.100.0-194.94.103.255', '194.94.221.0-194.94.221.255', '194.95.96.0-194.95.97.255', '195.112.175.60-195.112.175.63', '195.127.210.128-195.127.210.159',
  6.                                 '195.145.115.232-195.145.115.239', '195.145.199.224-195.145.199.231', '195.158.157.240-195.158.157.247', '195.243.81.0-195.243.81.7', '195.30.232.120-195.30.232.123', '195.30.232.128-195.30.232.191',
  7.                                 '195.37.100.0-195.37.101.255', '195.37.130.0-195.37.131.255', '212.18.22.160-212.18.22.191', '213.139.136.112-213.139.136.127', '213.139.146.132-213.139.146.135', '213.160.31.96-213.160.31.103',
  8.                                 '217.110.186.216-217.110.186.223', '217.19.187.0-217.19.187.15', '217.19.187.64-217.19.187.95', '217.19.187.96-217.19.187.103', '217.6.229.216-217.6.229.223', '217.89.43.24-217.89.43.31',
  9.                                 '80.146.186.80-80.146.186.87', '80.150.3.144-80.150.3.151', '82.135.124.112-82.135.124.127', '82.195.68.0-82.195.69.255', '80.146.207.248-80.146.207.255', '195.50.146.0-195.50.146.255',
  10.                                 '212.84.192.192-212.84.192.255', '62.153.115.56-62.153.115.63', '62.154.194.88-62.154.194.95', '212.222.53.128-212.222.53.255', '213.68.139.68-213.68.139.71', '193.175.83.0-193.175.83.255',
  11.                                 '194.95.166.0-194.95.166.255', '194.95.176.0-194.95.179.255', '192.129.8.0-192.129.8.255', '193.159.218.0-193.159.219.191', '62.134.61.0-62.134.61.255', '193.159.218.0-193.159.219.191',
  12.                                 '83.243.48.0-83.243.55.255', '164.133.0.0-164.133.255.255', '195.37.188.64-195.37.188.127', '195.37.188.192-195.37.188.223', '195.37.191.32-195.37.191.47', '80.245.144.0-80.245.147.255',
  13.                                 '217.6.26.216-217.6.26.223', '217.7.176.24-217.7.176.27', '193.197.150.208-193.197.150.223', '194.25.241.128-194.25.241.143', '62.225.163.152-62.225.163.159', '212.202.112.152-212.202.112.159',
  14.                                 '217.7.170.48-217.7.170.51', '87.193.145.200-87.193.145.207', '87.193.146.16-87.193.146.23', '213.23.143.176-213.23.143.191', '213.23.40.248-213.23.40.255', '213.23.41.16-213.23.41.23',
  15.                                 '213.23.41.8-213.23.41.15', '217.7.101.96-217.7.101.103', '62.153.210.128-62.153.210.135', '62.153.237.8-62.153.237.15', '193.17.86.0-193.17.87.255', '193.197.144.0-193.197.144.255',
  16.                                 '195.125.241.128-195.125.241.143', '195.158.157.64-195.158.157.127', '213.128.100.96-213.128.100.103', '195.244.234.192-195.244.234.255', '217.18.179.240-217.18.179.251', '62.245.144.216-62.245.144.223',
  17.                                 '62.245.178.136-62.245.178.143', '212.202.117.133-212.202.117.133', '80.86.167.64-80.86.167.111', '87.234.227.176-87.234.227.183', '212.202.166.48-212.202.166.55', '217.110.149.88-217.110.149.95',
  18.                                 '217.110.174.224-217.110.174.231', '217.110.45.8-217.110.45.15', '87.193.167.233-87.193.167.233', '195.243.128.224-195.243.128.231', '212.60.22.151-212.60.22.151', '212.88.128.200-212.88.128.207',
  19.                                 '213.139.133.208-213.139.133.223', '213.139.146.96-213.139.146.99', '213.139.146.76-213.139.146.79', '213.139.151.128-213.139.151.143', '217.110.149.48-217.110.149.55', '62.157.167.64-62.157.167.71',
  20.                                 '217.19.190.216-217.19.190.223', '62.154.250.0-62.154.250.7', '83.236.232.216-83.236.232.223', '213.183.13.0-213.183.13.31', '213.183.5.88-213.183.5.95', '212.82.39.8-212.82.39.15',
  21.                                 '212.84.227.0-212.84.227.255', '212.9.165.232-212.9.165.239', '213.183.160.212-213.183.160.215', '213.183.187.110-213.183.187.110', '62.156.191.128-62.156.191.255', '80.146.207.248-80.146.207.255'
  22.                             );
  23.  
  24.         if (isset($_SERVER['REMOTE_ADDR']) && preg_match('#^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$#', $_SERVER['REMOTE_ADDR'])) {
  25.             function uberwach_filter($ips) {
  26.                 $user_ip = ip2long($_SERVER['REMOTE_ADDR']);
  27.  
  28.                 foreach($ips as $range) {
  29.                     $ip_range = explode('-', $range, 2);
  30.  
  31.                     if (ip2long($ip_range[0]) <= $user_ip && $user_ip <= ip2long($ip_range[1])) {
  32.                         return true;
  33.                     }
  34.                 }
  35.  
  36.                 return false;
  37.             }
  38.  
  39.             if (uberwach_filter($uberwach_ips)) {
  40.                 define('UBERWACH_CLASS', 'uberwach_red');
  41.                 define('UBERWACH_IMAGE', 'http://www.uberwach.de/wanze-kamera.gif?'.rawurlencode($_SERVER['REQUEST_URI']));
  42.                 define('UBERWACH_TEXT',  'soeben von der Aktion ÜBERWACH');
  43.             } else {
  44.                 define('UBERWACH_CLASS', 'uberwach_green');
  45.                 define('UBERWACH_IMAGE', '/img/camera-green.gif');
  46.                 define('UBERWACH_TEXT',  'von der Aktion ÜBERWACH nicht');
  47.             }
  48.         } else {
  49.             define('UBERWACH_CLASS', 'uberwach_green');
  50.             define('UBERWACH_IMAGE', '/img/camera-green.gif');
  51.             define('UBERWACH_TEXT',  'von der Aktion ÜBERWACH nicht');
  52.         }
  53.     ?>
  54.     <div id="uberwach_bar" class="<?php echo UBERWACH_CLASS; ?>">
  55.         <p><a href="http://www.uberwach.de/"><img src="<?php echo UBERWACH_IMAGE; ?>" alt="Aktion ÜBERWACH!" border="0" /></a> Der Zugriff auf diese Seite wurde <?php echo UBERWACH_TEXT; ?> protokolliert. <a href="http://www.uberwach.de/">Über die Aktion "ÜBERWACH!"</a></p>
  56.     </div>

Die dazu passende CSS-Datei sieht wie folgt aus:

  1.     #uberwach_bar {
  2.         position:absolute;
  3.         z-index:1234;   
  4.         top:0;
  5.         right:0;
  6.         left:0;
  7.         padding:0;
  8.         margin:0;
  9.         border-left:none;
  10.         border-right:none;
  11.         border-top:1px solid #FFFFFF;
  12.         border-bottom:1px solid #ACA899;
  13.         height:27px;
  14.         display:block;
  15.         width:100%;
  16.         overflow:hidden; 
  17.         float:none;
  18.     }
  19.  
  20.     #uberwach_bar p {
  21.         border:none;
  22.         width:auto;
  23.         background:none;
  24.         margin:0;
  25.         padding:0 7px;
  26.         font-family:Verdana;
  27.         font-size:11px;
  28.         color:#003366; 
  29.         float:none;
  30.         text-align:left;
  31.     }
  32.  
  33.     #uberwach_bar img {
  34.         border:none;
  35.         background:none;
  36.         margin:0;
  37.         padding:0 7px;
  38.         width:19px;
  39.         height:19px;
  40.     }
  41.  
  42.     #uberwach_bar a, #uberwach_bar a:hover {
  43.         border:none;
  44.         background:none;
  45.         margin:0;
  46.         padding:0;
  47.         font-family:Verdana;
  48.         font-size:11px;
  49.         color:#003366;
  50.         text-decoration:underline; 
  51.     }
  52.  
  53.     #uberwach_bar a:hover {
  54.         text-decoration:none; 
  55.     }
  56.  
  57.     .uberwach_red {
  58.         background:none;
  59.         background-color:#FFCCAA;
  60.     }
  61.  
  62.     .uberwach_green {
  63.         background:none;
  64.         background-color:#D5FFAA;
  65.     }

Das Icon der Kamera sollte in camera-green.gif umbenannt werden und in das Verzeichnis /img/ hochgeladen werden.

Geschrieben am 24. Juli um 10:33 Uhr • 1 Kommentar

Trackbacks

Um einen Trackback zu erstellen, verwende bitte die in der Adresszeile angegebene URI.

Kommentare

Felix Kunsmann am 24. Juli um 22:57 Uhr

hm, ich erkenne da ja ein Problem. Durch den einsatz von mod_removeip in Apache habe ich in meinem Blog gar keine IPs mehr (d. h. $_SERVER['REMOTE_ADDR'] ist immer 127.0.0.1).

Nunja, dann bau ich das ganze mal wieder aus. Den Code lass ich aber mal hier stehn, vielleicht hat sonst jemand noch Interesse dran **pfeif**


Dein Kommentar

Textauszeichnung: *fett*, /kursiv/ und _unterstrichen_. Links mit http:// oder www. werden automatisch erkannt.


Um das Captcha nicht bei jedem Kommentar eingeben zu müssen, kannst du dich mit diesem Link mittels Twitter einloggen. Twitter-User müssen auf dieser Seite keine Captchas ausfüllen.

Benötigte Felder wurden mit einem orangenen Stern markiert. Formularfelder mit einer gültigen Eingabe zeigen einen grünen Haken, ungültige hingegen ein rotes Kreuz.