Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Porttikielto

Sivun loppuun

Azure [13.10.2005 20:48:57]

#

Miten sivuille voi laittaa tietylle henkilölle porttikiellon, eli miten se tehdään. Sammutetaanko jonkun henkilön IP-osoite siinä vai mitä?

Blaze [13.10.2005 20:58:31]

#

Yleensähän nuo taitaa toimia IP-osoitteen perusteella. Kannattaa toki olla varovainen, ettei mene vahingossa ISP X:n koko proxy pannaan.

Jos sivuilla on rekisteröityminen, voi estää myös käyttäjätunnuksen perusteella.

ajv [13.10.2005 21:36:59]

#

Yksi simppeli koodi kertoo enemmän kuin 1000 sanaa :)

<php
$banned_ip = '127.0.0.1';
$current_ip = $_SERVER['REMOTE_ADDR'];
if($banned_ip == $current_ip){
   exit('IP-osoitteesi on bannattu');
}
echo 'Tervetuloa kotisivuilleni...';
?>

ipe [13.10.2005 22:40:03]

#

ja jos bannattavia on monta niin niistä voi tehdä taulukon:

<?php
 $ipt=array("127.0.0.1", "127.0.0.2", "jne");
 foreach($ipt as $ip){
  if($_SERVER['REMOTE_ADDR']==$ip) exit("ip:s on bannittu");
 }
?>

Olga [13.10.2005 23:45:57]

#

Ja tuohon viimeiseen kätevä on myös funktio in_array.

Finkar [14.10.2005 16:29:01]

#

ja vielä kätevämpää on ko. homma toteuttaa jos käytössä on tietokanta. Tauluun vaan heittää bannatut ip:t ja sitten itse php-sivulle kyselyn, jossa tarkastetaan kuuluuko käyttäjän ip ns. mustalle listalle, joka löytyy tietokannasta...Suuremmassa mittakaavassa on nimittäin todella epäkäytännöllistä lisätä kaikki bannatut ip:t suoraan koodiin.

AavikkoRotta [15.10.2005 00:26:09]

#

Finkar kirjoitti:

ja vielä kätevämpää on ko. homma toteuttaa jos käytössä on tietokanta. Tauluun vaan heittää bannatut ip:t ja sitten itse php-sivulle kyselyn, jossa tarkastetaan kuuluuko käyttäjän ip ns. mustalle listalle, joka löytyy tietokannasta...Suuremmassa mittakaavassa on nimittäin todella epäkäytännöllistä lisätä kaikki bannatut ip:t suoraan koodiin.

Tämä mahdollistaisi myös paljon helpommin, ja paljon paremman käyttöliittymän rakentamisen operaatiolle.

ajv [15.10.2005 17:42:12]

#

No joo, tuo oma esimerkkini oli lähinnä rautalanka-malli silmälläpitäen sitä, että kyselijä taisi aloittaa PHP:n opiskelun juuri muutama päivä sitten...

Cc [16.10.2005 22:32:24]

#

miten saan tuon bannaamisen toimimaan silleen että se lukee bannatut ip:t teksti tiedostosta

Juice [16.10.2005 22:50:42]

#

Ensinnäkin, miettimällä, ja toiseksi, tutkimalla php:n manuaalista funktiota file...

kayttaja-2791 [16.10.2005 22:50:51]

#

<?php
foreach(file('bannatut.txt') as $ip)
{
  if (trim($ip) == $_SERVER['REMOTE_ADDR'])
    exit('You have been banned!');
}
?>

Ip:t siis bannatut.txt:ssä, yksi ip per rivi.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta