Autor Zpráva
Leopold
Profil *
Jde nějak snadně udělat v php (nebo html) aby. se ukázala stránka například: www.nazev.cz/ban.html když se bude rovnat IP adressa uživatele webu z proměnnou předem definovanou ? Uvedu příklad:
V proměnné ipban bude definována proměnná 99.85.65.14 a když někdo příjde na web a jeho ip se bude rovnat této proměnné tak ho to uvede na uvedenou stránku... šlo by to ?

Moderátor Chamurappi: Hrubka odhrubkována. Před otazníkem se nedělá mezera.
panther
Profil
Leopold:
ano, jde.

Zjistit si IP, porovnej se záznamy v poli zakázaných adres. Když bude shoda, přesměruj na ban stránku.

Jak zjistit IP, jak porovnávat i jak přesměrovat, pokud nevíš, si dohledej. Výsledek tě potom bude těšit víc, než kdybys to jen zkopíroval odsud.
synnasek
Profil
<?php

$bany=array ('85.71.155.3','125.135.123.124',); 


if (in_array($_SERVER['REMOTE_ADDR'], $bany)) {
    echo 'Promin , ale mas ban.';
 }
 else {
 ?>

 // html stranka

 <?php } ?>



Toto řešení mi nepřijde nejlepší , ale doufám že ti pomůže.
Joker
Profil
synnasek:
Toto řešení mi nepřijde nejlepší
Mně taky ne, protože tenhle kód zabanuje každého :-)

Za prvé by tam mělo být foreach na procházení polem a místo celého pole $bany by se mělo porovnávat proti položce pole a za druhé, operátor porovnání je == a ne =.
Yur4Y
Profil
Joker:
by tam mělo být foreach na procházení polem
Netreba.
if (in_array($_SERVER['REMOTE_ADDR'], $bany))
Beavis
Profil
<ot>
Porovnání ip adresi
..aneb adresa bez adresy, jako žena bez ženy..
</ot>
imploder
Profil
„by tam mělo být foreach na procházení polem“
To bude ale u většího počtu zabanovaných děsně neefektivní. Lepší bude banované adresy seřadit a adresu návštěvníka mezi nimi vyhledat půlením intervalu. Pak nebudou ani tisíce banů problém (zatímco procházet je jeden po druhém by se znatelně projevilo na výkonu).
synnasek
Profil
Joker:
Mně taky ne, protože tenhle kód zabanuje každého :-)
ano , psal jsem to z hlavy (bez netbeansu nenapíšu skoro nic).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0