Tämmönen bannausfunktio, joka kattoo "bannilista.txt" filusta, onko kävijä bannattu vai ei. Jos kävijä on bannattu, siirretään hänet sivulle, joka sisältää jäkätystä: "olet bannittu...". Ihan kätsy, itte käytän tätä. Bannaaminen tapahtuu laittamalla bann(); siihen kohtaan, mistä eteenpäin bannatuilla ei ole asiaa. Mitään chmodeja ei tartte tehä.
ip:n hakufunktio ja itse bannausfunktio
<?php function getip(){ if($_SERVER){ if($_SERVER["HTTP_X_FORWARDED_FOR"]){ $rip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }elseif($_SERVER["HTTP_CLIENT_IP"]){ $rip = $_SERVER["HTTP_CLIENT_IP"]; }else{ $rip = $_SERVER["REMOTE_ADDR"]; } }else{ if(getenv("HTTP_X_FORWARDED_FOR")){ $rip = getenv("HTTP_X_FORWARDED_FOR"); }elseif (getenv("HTTP_CLIENT_IP")){ $rip = getenv("HTTP_CLIENT_IP"); }else { $rip = getenv("REMOTE_ADDR"); } } return $rip; } function bann() { $ip = getip(); $lista = file("bannilista.txt"); foreach ($lista as $banni) { if (strstr($banni, $ip)==true) { header("Location: bannattu.php"); } } } ?>
bannilista.txt
255.255.255.0 255.255.255.0 255.255.255.0 jne...
eli kommenttia tähän suuntaan, kiitos :D
IP:n bannaamisesta ei ole yleensä paljonkaan hyötyä, kun useammilla se vaihtuu joka yhteydenottokerralla. Ja aiheellista olisi myös mainita, että getip-funktio on kopioitu täältä: http://mureakuha.com/koodikirjasto/PHP/357
mitä varten toi bannaaminen on funktiossa? ei mitään iloa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.