Sperre feed?

Nutz

Med lem
Må fikle til noe selv Tonny..
Koble en "black-list" i forbindelse med external.php tror jeg ikke du vil ha noen særlig problemer med..
 

Nutz

Med lem
Fant et lite eksempel på phpgenious.com.

Block IP Address using PHP Script | php genious

Limer det inn her i tilfelle siden forsvinner en gang..

Bare å redigere denne etter eget ønske, samt utøke $deny så mye du måtte ønske..
Gi kodesnutten under f.eks navn "bastards.php"

Sette inn ganske tidlig i filen external.php

include_once "bastards.php";


PHP:
<?php

$deny = array("111.111.111", "222.222.222", "333.333.333");

if (in_array ($_SERVER['REMOTE_ADDR'], $deny))

{

header("location: http://www.google.com/");

exit();
}

?>
Verre trenger det ikke å være..
 
Sist redigert:
Smekka sammen en greie kjapt og gæli Tony.
Litt usikker på referer funksjonen, men prøv :)

Blacklist for IP, Land og Referer

PHP:
<?php
 ///
 // BLACKLISTS
    $BadIps       = array('127.0.0.1');
    $BadSites     = array('');
    $BadCountry   = array('NORWAY');
    
    
function WiewerCountry($IP) {
  if(ip2long($IP)== -1 || ip2long($IP) === false) { die('Ugyldig IP');  }  
 
  $ipDetaljer     = array(); 
  $ipXML          = file_get_contents("http://api.hostip.info/?ip=".$IP);
  // Finn landet IP er registrert
    preg_match("@<countryName>(.*?)</countryName>@si",$ipXML,$matches);
    $ipDetaljer['country']  = $matches[1];
  // Finn countrycode til landet IP er registrert
    preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si",$ipXML,$cc_match);
    $ipDetaljer['country_code']=$cc_match[1]; 
return $ipDetaljer;
}

  $Wip        = $_SERVER['REMOTE_ADDR'];
  $Wcountry   = WiewerCountry($Wip);

///
// IP stammer fra blacklistet land
if(in_array($Wcountry['country'], $BadCountry)) {
      // ANGI HANDLING FOR LESERE FRA BLACKLISTEDE LAND
        die('Flytt til et annet land!');
}
  ///
  // IP ligger i Blacklist.
  elseif(in_array($_SERVER['REMOTE_ADDR'], $BadIps)) {
        // ANGI HANDLING FOR BRUKERE MED BLOKKERTE IP ADRESSER
          die('Gå vekk!');
  }
    ///
    // Referer nettside ligger i Blacklist
    elseif(isset($_SERVER['HTTP_REFERER'])) {
      if(in_array(@$_SERVER['HTTP_REFERER'], $BadSites)) {
          // ANGI HANDLING FOR BRUKERE SOM KOMMER FRA NETTSTEDER I BLACKLIST
            die('Velg nettsteder du besøker med omhu');
      }
    }

///
// ALT ER OK
 else {
    echo $Wcountry['country'];
}
 

Tonny Kluften

Administrator
Supert, takk begge to.

Hei Daniel, lenge siden. Alt vel håper jeg.
Kunne du ofret 5 sekunder til og fortalt meg hvor i external.php koden din skal inn.

Og i $BadSites = array(''); holder det med å skrive domene eller må man ha med http osv?
 

Vedlegg

  • external.txt
    29,4 KB · Sett: 11
Gikk litt fort i svingene der ser jeg.
Nei den gjør ikke det. Tenkte jeg ikke på i natten.

PHP:
    ///
    // Referer nettside ligger i Blacklist
    elseif(isset($_SERVER['HTTP_REFERER'])) {
      preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $Treff);
      $Host           =   $Treff[1];
      preg_match('/[^.]+\.[^.]+$/', $Host, $Treff);
      $Domene         =   $Treff[0];
      if(in_array(@$Domene, $BadSites)) {
          // ANGI HANDLING FOR BRUKERE SOM KOMMER FRA NETTSTEDER I BLACKLIST
            die('Velg nettsteder du besøker med omhu');
      }
    }
Ved å endre slik kan du skrive kun domenenavn i $BadSites arrayet. f.eks "webforumet.no"
Jeg er ikke kjent med external, men skal ta en titt på strukturen i den filen du vedla for å se om jeg blir smart på det. Gi meg noen minutter :)
 
Etter en kjapp titt på den så tror jeg det enkle er det beste.
Legg til koden i begynnelsen av filen, Fjern innhold i die() så stopper scriptet å kjøre hvis et av argumentene stemmer.

Skal sies at jeg ikke er 100% sikker på at det fungerer, men jeg tror det.
 

Nutz

Med lem
Er bare å legge det inn like etter første linje Tonny.
<?php
// Hiv det inn her..


Dersom det blir treff med $Badsites avsluttes hele scriptet..
 

picxx

WF 09
Det optimale hadde jo, ved hjelp av referrer, vært å sendt ut noe helt sykt istedet for feeden.
Regner med dette skal brukes på/mot disse sidene du nevnte i en annen tråd?
 

Nutz

Med lem
hehe gi han dette "http://dubai.locanto.ae/used-cars/902/index.rss" .. Sikkert veldig relevant.. :D
 

Tonny Kluften

Administrator
Haha. Det er humor det.
Jeg har hatt et par tilfeller hvor noen har hotlinket bilder fra mine sider. Trenger jeg å nevne at de bildene ble skiftet ut med bilder av *sensurert*. Han som hotlinket er medlem her, men jeg vil aldri fortelle at det var meg som gjorde det for da ligger jeg tynt an haha.
 

Nutz

Med lem
Er det ikke mer reinslig å ta svina på IP?
Så at det var endel like IP-adresser for de sidene..
Men blir nok noe "krøll" når det byttes over til IPV6.
 

Tonny Kluften

Administrator
Jeg har satt opp IP, men feeden vises fortsatt, mulig den er i cachen deres. nettbutikk24.com.
Det er ikke noen big deal dette da, men jeg er nå en gang slik skrudd sammen at jeg syns det er morsomt å engasjere seg litt med.
 
Topp