Tämä on siis ensimmäinen skriptini, jonka olen aloittanut tyhjästä, siksi siis haluan kommentteja toimivuudesta.
Olen kysynyt neuvoja tähän koodiin putkan keskustelussa ja kiitos avustajille.
Skripti on testattu ja todettu toimivaksi
Ominaisuudet:
- Ei päästä sivuille jos IP EI löydy listalta.
Käyttö:
Skriptihän ei ole mikään kauhean käytännöllinen, mutta voihan siitä vaikka salasanattoman adminin kyhätä, kun laittaa tämän sivujen eteen.
bannaus.php
<?php //Tekijätietoja ei tarvitse säilyttää omassa käytössä, mutta jos levität, niin anna alemman kommentin säilyä //Koodi kopioitu ohjelmointiputkasta osoitteesta: https://www.ohjelmointiputka.net/koodivinkit/24885-php-ip-bannaus-toisinp%C3%A4in $ip = $_SERVER["REMOTE_ADDR"]; //laitetaan sallitut IP:t taulukkoon $sallitut = array("62.236.49.193", "62.236.49.193"); //Uusi laitetaan mallin mukaan, eli edellisen perään pilkku ja esim. "10.12.189.27" if (in_array("$ip", $sallitut)) //Jos IP-osoite on sallittujen taulukossa ... { echo "Sinulla on oikeudet sivuille!<br><br>"; //... Annetaan oikeudet }else //Muussa tapauksessa ... { echo "Ei oikeuksia sivuille!"; //... Ei anneta oikeuksia ... exit(); //... Ja exit, eli sivujen lataus loppuu tähän, eikä päästä eteenpäin sivuille } ?> <HTML> <HEAD> <TITLE>Omat sivuni</TITLE> <BODY> <h1>Tervetuloa</h1> </BODY> </HTML>
Tommonen.
Mikäs esti muokkaamasta aiempaa ? -.- Muokkaus nappi on olemassa.
Wanha!
Välttäkää array_map() funktion käyttöä, hidas pska.
if (!in_array($_SERVER['REMOTE_ADDR'], array_map("trim", file("sallitut.txt"))))
->
if (!in_array($_SERVER['REMOTE_ADDR']."\r\n", file("sallitut.txt")))
$allow = file_get_contents("ipallow.dat");
$iptaulu = explode(":", $allow);
if (in_array($ip,$iptaulu,true) {
koodia
}else{
exit(1);
}
tuolleen minä ainakin tekisin
Aika vanha vinkki, mutta kerron tämän silti.
Laitoin exitin tilalle ohjauksen "ei oikeuksia"-sivulle. Se on mukavempi katella kuin valkoinen sivu, eikä tarvitse laittaa backspacea saadakseen sisällön esille.
Koodihan menee alkuperäistä mukaillen noin:
<?php $ip = $_SERVER["REMOTE_ADDR"]; $sallitut = array("00.000.000.000"); if (in_array("$ip", $sallitut)) { echo ""; } else { header('Location: http://www.daunlouded.com/unauth.html'); }; ?>
Kelpo koodi suojaustarpeeseen, vaikkei pääsekään kuin yhdestä talosta hoitamaan asiat.
Aihe on jo aika vanha, joten et voi enää vastata siihen.