Autor Zpráva
Sany
Profil
Dobrý den,
vím že se to tu již řešilo, také vím že spousta lidí radila v jiných/podobných tématech, ale mám problém s tím že je v tom vždy "drobná trhlina".
Dělám jeden projekt, kde lze vytvořit jeden účet na jednom PC resp. jedné IP. Myslím že je nepodstatné řešit proč, ale dalo by se to přirovnat právě k IP banu.
Napadlo mě řešit to nějak takto a také takto radilo i spousta lidí.
if($_SERVER['REMOTE_ADDR'] == "Zabanovaná IP"){
  echo "Máš IP ban";
}

Jenže tento proměnná $_SERVER['REMOTE_ADDR'] má drobný nedostatek a to v tom, že pokud má uživatel dočasnou IP (např. UPC, mobilní operátoři atd.) vypíše jen dočasnou IP a "ban" je neúčinný.

Na Google jsem narazil ještě na toto: Odkaz na řešení, jenže u mě na hostingu nefunguje a vypisuje 2x dočasnou IP místo lokální IP (nevím zda to není nastavením na PHP 5.4 ale nastavení nemohu změnit).

Jak by jste v mém případě řešili tento problém?

Děkuji všem za případnou reakci či radu.
pcmanik
Profil
Sany:
Užívateľ nemá inú IP ako tú "dočasnú". Načo by ti bola lokálna IP? Ta vôbec nieje unikátna a väčšinou má tvar 192.168.0.x
Inak povedané jediné riešenie ako získať IP je práve REMOTE_ADDR.
Sany
Profil
pcmanik:
Nějaká možnost jak zakázat nějakou stálou IP asi být musí přeci není jen dočasná IP ve tvaru "2c02:8309:513f:a200:8d67:d521:f160:a46b" jako má např. UPC nebo Mobilní operátoři. Když dostaneš IP ban na nějaké hře tak se nepřipojíš ani po restartu routeru... Min. u UPC stačí restartovat router a dočasná IP se změní... Popř. se mění v průběhu dne.
smitka
Profil
Asi by to chtělo vymyslet nějakou jinou identifikaci uživatele než IP - uživatelský účet, cookie, certifikát,...
pcmanik
Profil
Sany:
Stála IP neexistuje pri UPC, oni ti negerantujú pevne pridelenú IP adresu. Ty teda nemáš akú konkrétnu adresu zablokovať. Naviac tým že zablokuješ IP adresu ktorá nepatrí vždy tomu istému používateľovi môžeš odrezať od prístupu aj nevinného. IP ban v hre práve padne keď sa ti zmení IPečka. V tvojej hre je zrejme implementovaný sofistikovanejší spôsob banu ako na IP, napríklad na steam účet.
Sany
Profil
smitka:
Asi by to chtělo vymyslet nějakou jinou identifikaci uživatele než IP - uživatelský účet, cookie, certifikát,...

Uživatelský účet právě je. Já potřebuji docílit toho, aby si jeden uživatel nemohl vytvořit více účtů... Napadlo mě právě řešit to přes IP. Prakticky uložím IP do databáze a pak jen kontroluji zda tam je nebo není. Pokud není může vytvořit účet. Ale asi to udělám v kombinaci z cookies. Kdy ověřím IP a pokud nebude v DB tak pro jistotu ověřím ještě "sušenky".

Ale zjistil jsem třeba že www.meip.eu/ ukazuje IP 86.49.xxx.xxx která je pořád stejná i po restartu routeru. A máme jí stejnou všichni na Wifi o což mi jde... Ale všichni u UPC ji stejnou nemají (ověřeno na třech wifi ve stejném baráku)... Ale jak tuto IP vypsat netuším...
Kcko
Profil
Sany:
Kromě cookies si můžes ještě něco poznačit do LocalStorage ( o tom skoro nikdo neví ...)
Keeehi
Profil
Sany:
Já potřebuji docílit toho, aby si jeden uživatel nemohl vytvořit více účtů.
Pokud uživatele nedonutíš, aby k tobě fyzicky přišel a ukázal ti občanku, tak toho nedocílíš. Jakákoli ochrana kterou si vymyslíš jde obejít.
unikátní IP adresa - jak už jsi napsal, někteří poskytovatelé internetu mění IP adresy svým zákazníkům. Dalším problémem je, že samotní uživatelé si mohou změnit IP adresu (proxy servery, Tor, VPN, ...). No a konečným problémem je, že když mají všechny byty v domě stejnou IP adresu, bude se moci zaregistrovat jen jeden člověk z jedné rodiny.
označit si prohlížeč pomocí cookies - dají se velmi jednoduše smazat
označit si prohlížeč pomocí LocalStorage nebo jinou metodou - Kcko má pravdu v tom, že toto uložiště není tolik známé. Ovšem přesto to použitelné není. Proč? Anonymní mód prohlížečů, ten smaže veškerá uložiště v prohlížeči. A uživatelů, kteří vědí jak spustit anonymní mód je dnes pravděpodobně více než těch, kteří vědí jak se mažou cookies.
unikátní email - díky službám typu mailinator.com a jí podobných, nebo faktu že gmail doručuje email i na adresy typu uzivatelskejmeno+cokoli@gmail.com není pro nikoho problém mít nespočet emailových adres aniž by se musel pro každou z nich zaregistrovat.
unikátní telefonní číslo - Osobně mi to přijde asi jako nejsložitější, ovšem stále lehce překonatelné. Existují SMS brány, které na webu zobrazují obsah SMS které dorazily na jejich čísla. Nebo díky VoIP je možné mít za minimální náklady obrovské množství svých čísel.
unikátní občanský průkaz - No, je to takové zbožné přání, které je teoreticky možné, prakticky ale asi nepoužitelné. Sám to asi nechceš dělat. Takže by bylo skvělé, kdyby ty lidi někdo ověřoval místo tebe. Naštěstí to někdo dělá - nic.cz se svým projektem mojeid.cz. Problémem je, že tato služba není v České republice úplně masově rozšířená. Podle statistik z jejich stránek, měli v roce 2016 (po šesti letech fungování) pouhých 500 000 registrovaných účtů a z nich pouze 2 % jsou verifikovaná fyzickým ověřením. Což je jen 10 000 účtů. Což není moc použitelné číslo. A pochybuji, že tvoje služba je tak zajímavá, aby jsi registraci do ní mohl podmínit fyzickou validací u mojeid.cz.

Doufám, že je z toho jasné, že uživatelům kteří si chtějí vytvořit více účtů to můžeš ztížit, nikdy tomu však nemůžeš zabránit. Proto nejlepší ochranou je se nechránit ale postavit službu tak, aby více účtů bylo člověku k ničemu. Tudíž tvá poznámka za začátku „Myslím že je nepodstatné řešit proč“ je naopak přesně to, co potřebuješ řešit. Nehledej neexistující řešení problému, odstraň jeho příčinu.

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