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.