OT: php-IP

From: Tomáš Vymětal <vymetalt (zavinac)>
Date: 26. 10. 2005, 16:01 CEST
ale když už jsem u těch IP, tak si taky rýpnu, třeba někoho něco trkne.

Dělal jsem hlasovací systém pro městskou komunitu v php/sql. Problém je 
omezení na možnost deseti hlasů denně. Teď šlo o to, jak to vyřešit. 
Jako nejjednodušší se ukázala db ip adres získaných přes 
$_SERVER["REMOTE_ADDR"]. Problém je v tom, že ve městě jsou tři 
provideři, kteří každý pod jednou veřejnou IP provozují tak cca 300 
lidí. Teď jde o to, jak těm lidem umožnit přístup k hlasování. Asi 
nejjednodušší a nejfunkčnější by bylo ukládat kombinaci veřejné a 
vnitřní adresy, nicméně, dá se to nějak přes phpko zjistit ? Když jede 
člověk přes proxynu, tak je to v pohodě, ale když to je proleze přes 
NAT, tak žádnou možnost nevidím.

Vyřešil jsem to (doufám, že jen dočasně) tak, že v případě, že se ukládá 
adresa do databáze, ukládá se s ní i unikátní identifikátor, který se 
spolu s tím ukládá po dobu hlasování do sušenky a poté se  uživateli 
umožní hlasování. V případě, že sušenka neexistuje a IP adresa v 
databázi ano, bere se uživatel jako nový, s tím, že se mu vygeneruje 
nový identifikátor a znemožní hlasování (tak aby lidi nemohli duplicitně 
hlasovat jen tím, že smažou cookies, nýbrž mohou hlasovat další den). 
Problém je v tom, že si stačí pár sušenek s identifikací zazálohovat a 
každý den ji zkopírovat a zahlasovat z každé. Druhý problém, více 
browserů, každý drží vlastní sušenky. Zatím se zdá, že to funguje jak 
má, ale je to jen otázka času, než se v tom nějakej trošku chápavější 
člověk pohrabe a celou akci posere ...

Nemáte někdo nápad, jak to vyřešit pro uživatele pasivně ? tzn. žádné 
přihlašování, mejly, či kódy, prostě tak, aby uživatel jen click & go ;)

T.V.



laco napsal(a):

>Mozem sa este spytat?:
>stale  mi to hadze IP adresu servera kde su umiestnene stranky,
>s tym by sa nedalo nieco spravit?
>Vdaka
>
>Laco
>
>*********** SEPARATOR  ***********
>
>Dna 19. 10. 2005 o 17:22 Martin Svarovsky napisal:
>
>  
>
>>laco napsal(a):
>>    
>>
>>>moze ma niekto nakopnut aka je premenna PHP na zistenie
>>>IP adresy usera a url odkial prisiel? Nejak to neviem v manuale
>>>najst.
>>>Dik
>>>      
>>>
>>IP klienta: $_SERVER["REMOTE_ADDR"]
>>Odkud prisel: $_SERVER["HTTP_REFERER"]
>>
>>Dobre poslouzi funkce phpinfo() - ta ti vypise vsechny mozny promenny
>>
>>-- 
>>S pozdravem
>>Martin Svarovsky
>>    
>>
>
>
>
>
>===================================================== reklama =====
>SEO PRO WEBDESIGNERY (Cena 2.950 Kc bez DPH, Praha, 19. rijna, 10.00)
>Naucte se optimalizovat webove stranky pro vyhledavace na kurzu SEO
>vedenem Radimem Smickou, autorem prvni ceske knihy o SEO.
>http://www.dobryweb.cz/sluzby/kurz-seo.html?seo
>===================================================================
>
>  
>
Received on Wed, 26 Oct 2005 16:01:22 +0200

This archive was generated by hypermail 2.1.8 : 26. 10. 2005, 16:01 CEST