Jump to content
php.lv forumi

kautkads Ip ban scripts


Wo[ix]lf

Recommended Posts

lf,28. Apr, 2004 - 18:53] tipo nau kadam kautkads scripts kas nolasot IP no txt faila ja txt faila ir tada adrse vinjsh ielade citu lapu ja nau tad index.php

index.php sākumā ieraksti:

 

$banArray = file('bani.txt');
if (in_array($_SERVER['REMOTE_ADDR'], $banArray)){
 header('location: banned.php');
}

 

bani.txt struktūra:

255.255.255.255

255.255.255.255

255.255.255.255

255.255.255.255

 

tb katrā rindiņā pa vienai IP adresei.

Link to comment
Share on other sites

vai tur gruuti pasham izshtukot:

 <?php
   $lines = file('banned.txt');
   foreach($lines as $L)
   {
      if ($_SERVER["REMOTE_ADDR"] == $L)
     {
       header('Location: bannded.html');
       exit;
     }
   }
   header('Location: index.php');
 ?>

t

Link to comment
Share on other sites

vai tur gruuti pasham izshtukot:

 <?php
   $lines = file('banned.txt');
   foreach($lines as $L)
   {
      if ($_SERVER["REMOTE_ADDR"] == $L)
     {
       header('Location: bannded.html');
       exit;
     }
   }
   header('Location: index.php');
 ?>

t

just a small note, bubu:

ar header() un pēc tam exit ir jābūt uzmanīgam.

 

ir pieredze, ka pēc PHP versijas atjaunināšanas/konfigurācijas maiņas (īsti nezinu, ko hostinga piedāvātājs izdarīja) viņš exit uztver ar lielāku prioritāti kā header. tb. neskatoties uz to, ka pirms exit ir header komanda. Viņš uz citu lapu nepāriet un nomirst.

Link to comment
Share on other sites

ne neiet :( tipa ieliku pie index bet Location atgriezas pie index.php un ta vinjs visu dienu vinju pa jaunam lade :/ a ja uztaisu citu index.php un vinjs ielade sakums.php ta vis iet bet pie lapas shavaita vares tikti klat uztaxtot http://***.**.lv/sakums.php mosh jus varetu palidzet ar tadu kas ir index.php sakuma ja Ip ira txt faila vinjs Location: bannded.html ja nau tad ielade lapu

 

( ceru sapratat )

Link to comment
Share on other sites

nu ar to domāšanu ir tā kā ir jo laikam copy/paste koderi ir navalam, bet te ir ban scripts, mazliet neerts lietošanai, bet lūdzu strādā perfekti

<?PHP
$arr = array ('', '218.154.92.1', '');
while (list (,$val) = each ($arr)){
if ($val == 'stop!'){
}
IF ($REMOTE_ADDR == "$val" ) :
header("location:http://porn.lv");exit();
ENDIF;
}
?>

:blink:

Link to comment
Share on other sites

shaubos vai tas skripts straadaa perfekti!

1) cikaa tiek vilkts aaraa list(,$val) = each($arr), bet $arr elementi ir stringi! taa ka neko tajaa , nedabuusi :) (vieglaak nebija ar foreach vai for ciklu?

2) ko noziimee $val == 'stop!' ??

3) nav taada ENDIF;

Link to comment
Share on other sites

3) nav taada ENDIF;

negribu būt kašķis, bet ir gan tāds endif ;)

 

PHP kā valoda ir elastīga arī attiecībā uz kontroles struktūru pierakstīšanu - ir atļauts lietot ne tikai C stila sintaksi, bet arī augstāk redzamo. Tiesa C stila sintakse tiek lietota 99% gadījumu un tāpēc liela daļa PHP programmētāju nemaz par cita veida sintaksi neko nezina ;)

Link to comment
Share on other sites

×
×
  • Create New...