PHP-IP-Banniminen

PHP-IP-Banniminen

Viesti Teamnate 15 Kesä 2006 02:39

Tässä lueskelin jotain PHP-Oppaita ja opin tekemään bännerin. Tässäpä tämä..

Koodi: Valitse kaikki
<?php
if($_SERVER['REMOTE_ADDR'] == "IP.OSOITE") die("Porttikielto");
if($_SERVER['REMOTE_ADDR'] == "IP.OSOITE") die("Porttikielto");
if($_SERVER['REMOTE_ADDR'] == "IP.OSOITE") die("Porttikielto");
?>


:roll:
Käyttäjän avatar
Teamnate
 
Viestit: 286

Viesti Koiranpentu 15 Kesä 2006 09:25

Hyvä opas. Tota ehkä voi joutua käyttämään kun on oma nettisivu, mutta luulen etten joudu käyttämään tuota koodia, vaikka mieli tekisikin kokeilla. 8)
Käyttäjän avatar
Koiranpentu
 
Viestit: 354

Viesti StandingInLine 15 Kesä 2006 11:10

Ei ainakaan koolla pilattu opas. 8)

Hyvä, näitä lisää. ^^
[piilotettu kuva]
StandingInLine
 
Viestit: 1850

Viesti Teamnate 15 Kesä 2006 18:47

Miksi ihmiset on laittanut "Huono" valinnan? Perusteluja kiitos. :(
Käyttäjän avatar
Teamnate
 
Viestit: 286

Viesti Vista 15 Kesä 2006 18:50

Entäs sitten joku ilmoitus niille, jotka on bannittu, että tietää mistä on kyse?
Vista
 
Viestit: 64

Viesti nipasenmaki 15 Kesä 2006 19:19

Vista kirjoitti:Entäs sitten joku ilmoitus niille, jotka on bannittu, että tietää mistä on kyse?


Koodi: Valitse kaikki
if($_SERVER['REMOTE_ADDR'] == "IP.OSOITE") die("Olet bannattu, häpeä!");
[piilotettu kuva]
Käyttäjän avatar
nipasenmaki
 
Viestit: 792

Viesti Irzu 15 Kesä 2006 21:20

Miksi näin?
Nyt pitäisi tuo kyseinen koodi lisätä jokaikiseen PHP tiedostoon.
Kuva tiedostojakin voi katsoa.

Helpompaa on luoda tiedosto .htaccess jonne kirjoitat seuraavat rivit:

Order Deny,Allow
Deny from x.x.x.x.x
Deny from x.x.x.x.x
Allow from All

x.x.x.x.x on bannitun IP-osoite.
Ja sitten luot vaan 403 sivun.

vaikka 403.html

Sitten lisäät .htaccess tiedostoon:

ErrorDocument 403 /403.html

htaccessin pitäisi näyttää tältä:
Koodi: Valitse kaikki
ErrorDocument 403 /403.html
Order Deny,Allow
Deny from x.x.x.x.x
Deny from x.x.x.x.x
Allow from All

Ja 403.html vaikka:
Koodi: Valitse kaikki
<h1>OLET BANNITTU!</h1>


(toimii vain palvelimilla missä on .htaccess tuki.)
Käyttäjän avatar
Irzu
 
Viestit: 286

Viesti Teamnate 15 Kesä 2006 23:32

Heh, joo. On näitä monimutkaisiakin, mutta tämä on yksinkertasin jota voi toteuttaa. Tai sitten tämän asettaa .php tiedostoon ja icludettaa joka sivulle. Kuviahan bännitty voi sillon katsoa, mutta se tuskin haittaa 8)

Niin, tämä on vain yksi tapa 8) 8)
Käyttäjän avatar
Teamnate
 
Viestit: 286

Viesti Matso 16 Kesä 2006 01:50

Ei tämä ollut opas. Tämä oli yksi if lause. Eikä tässä opastettu edes miten se saadaan toimimaan. Jos tuon tunget vaan documentin alkuun niin se vaan sanoo "Porttikielto", jos on "bannilistalla", mutta näyttääkni sivun sitten ihan normaalisti :roll:
Käyttäjän avatar
Matso
 
Viestit: 4374

Viesti Teamnate 16 Kesä 2006 04:46

Die?
Käyttäjän avatar
Teamnate
 
Viestit: 286

Viesti Matso 16 Kesä 2006 10:26

Hmm.. no näin olisi ehkä vähän parempi:
Koodi: Valitse kaikki
<?php
$ip_osoitteet = array(
"ip_osoite1",
"ip_osoite2",
"ip_osoite3",
"ip_osoite4"
);
foreach($ip_osoitteet as $ossat){
if($_SERVER['REMOTE_ADDR'] == $ossat){echo 'Sinut on bannattu tältä sivustolta!'; exit;}
}
?>
Käyttäjän avatar
Matso
 
Viestit: 4374

Viesti Irzu 17 Kesä 2006 01:33

Matso kirjoitti:Hmm.. no näin olisi ehkä vähän parempi:
Koodi: Valitse kaikki
<?php
$ip_osoitteet = array(
"ip_osoite1",
"ip_osoite2",
"ip_osoite3",
"ip_osoite4"
);
foreach($ip_osoitteet as $ossat){
if($_SERVER['REMOTE_ADDR'] == $ossat){echo 'Sinut on bannattu tältä sivustolta!'; exit;}
}
?>

Tai sitten .htaccessilla. :D
Käyttäjän avatar
Irzu
 
Viestit: 286

Re:

Viesti F-3000 05 Joulu 2007 18:32

Teamnate kirjoitti:Die?

Minun ymmärryksen mukaan die() = exit().

Lähde php.net


Ja olen Matson kanssa samaa mieltä. Silmukka voi olla parempi kuin 100 riviä jossittelua.

[Edit] Lisäperusteluna "huonolle" että IP on huono lähde pitkäaikaiseen banniin. Itse pystyn yhdellä unix-käskyllä vaihtamaan IP:n hetkessä.
Viimeksi muokannut F-3000 päivämäärä 14 Joulu 2007 19:02, muokattu yhteensä 1 kerran
F-3000
 
Viestit: 12

Re: PHP-IP-Banniminen

Viesti praKKA 14 Joulu 2007 08:53

Itse asiassa aika toimiva ja näppärä pikkukoodi, tämähän on juurikin yksi pienemmistä.
Ja ne Matsot ja muut voivat mennä muualle pätemään, die() toimii siinä samassa kuin exit().
Helpompi olisi kai laittaa arrayllä noi ip:t listaan niinkuin tuolla ylempänä ollaan tehty, mutta toimii se noinkin.
Intel C2D E4400@vakio | 1Gb DDR2 800MHz (sitten joskus 2Gb) | 250Gb WD Caviar SE SATA | Club 3D GF 8600GT | Antec Sonata III | Asus P5B
Ajaahan ihmiset ylinopeutta, virittää mopoja ja ovat amiksia. - X-racer
Rapakuntoinen nörtti haastaa kaikki punnertamaan, pystyttekö?
Keksit loppu.
Käyttäjän avatar
praKKA
 
Viestit: 4862

Re: PHP-IP-Banniminen

Viesti Ihkudaa 15 Joulu 2007 15:02

Enpä ole ikinä nähnyt huonompaa koodiakaan.
Ihkudaa
 
Viestit: 7

Palaa alueelle Ohjelmointioppaat