Forumi
Home Pravila i pomoć Članovi Kalendar Današnji postovi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 13.05.2007., 21:14   #1
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
php zabrana istovremenog logiranja više korisnika sa istim usernameom i passwordom

Imam potrebu napraviti dio sajta na kojem bih želio dopustiti ulazak samo s usernameom i passwordom te pomoću php-a onemogućiti da se istovremeno logira više korisnika koristeći isti username i password. Za sada sam pokušao s dosta dobrim i često koprištenim php skriptama:
phpSecurePages
Login Redirect
vAuthenticate 3.0.1
ali na žalost niti jedna od njih nema tu mogućnost da kontrolira da li je netko u to vrijeme već ulogiran s istime usernamemom i paswordom.

Molio bih ako netko zna da li ima kakva skripta s kojom je to moguće ili ima neka druga sugestija. Prekopao sam hotscripts.com ali nisam uspio naći. I googlao sam o tome ali učinak je gotovo nikakav, što me vrlo čudi. Možda nisam prave pojmove tražio.

Hvala svima!
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 13.05.2007., 21:27   #2
gog
Premium
Moj komp
 
gog's Avatar
 
Datum registracije: Apr 2005
Lokacija: Zagreb
Postovi: 582
Napiši sam skriptu, nije tako komplicirano kako zvuči, a i naučiš ćeš nešto korisno.

Samo kod autorizacije pohraniš IP adresu s koje je korisnik autoriziran i ako se pokuša netko s druge IP adrese logirati dok je ovaj još aktivan (npr. prošlo je manje od XX minuta otkad se netko s druge IP adrese logirao s istim usernamemom) onda ga otkantaj.

Jedini problem koji bi mogao imati su ti korisnici koji su iza NAT-a, jer iza jedne IP adrese može se nalaziti jako puno računala.
gog je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 14.05.2007., 00:36   #3
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
Nisam baš toliko dobar php programer, barem za sada ;-)
Znaš li možda neko gotovo rješenje za prijedlog.
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 14.05.2007., 00:44   #4
gog
Premium
Moj komp
 
gog's Avatar
 
Datum registracije: Apr 2005
Lokacija: Zagreb
Postovi: 582
Nažalost ne, grozim se gotovih riješenja
gog je offline   Reply With Quote
Staro 14.05.2007., 00:55   #5
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
Definitivno si u pravu, ali nemam toliko vremena koliko bi mi trebalo za kvalitetno mymade rješenje. Na kompu i oko njega volim uvijek sve manualno i sve znati što se događa, ali vjerojatno ću za ovo morati naći neko gotovo rješenje.
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 14.05.2007., 02:10   #6
jonyb
Registered User
Moj komp
 
jonyb's Avatar
 
Datum registracije: Apr 2004
Lokacija: zg
Postovi: 887
nije to tak teško napraviti, upišeš u mysql bazu da je korisnik logiran, npr. stanje 1, kad se odlogira stanje 0. naravno adminu ne stavljaš restrikciju.

ak se drugi korisnik pokuša logirati provjeravaš zapis u bazi, ak je 1 ide na error ak je 0 normalno se logira...
jonyb je offline   Reply With Quote
Staro 14.05.2007., 09:56   #7
bude
Warcraft III TFT
 
bude's Avatar
 
Datum registracije: Jun 2004
Lokacija: Zg
Postovi: 862
Citiraj:
Autor jonyb Pregled postova
nije to tak teško napraviti, upišeš u mysql bazu da je korisnik logiran, npr. stanje 1, kad se odlogira stanje 0. naravno adminu ne stavljaš restrikciju.

ak se drugi korisnik pokuša logirati provjeravaš zapis u bazi, ak je 1 ide na error ak je 0 normalno se logira...
I sto ako se taj isti korisnik ne odlogira nego samo ugasi preglednik? Session je prekinut al se u bazu nije vratila 0 da je odlogiran. Nikad vise se nece moc ulogirat bez admin akcije
__________________
A64 Venice
Epox 9npa+ Ultra
Super Talent 2x512 MB
Saphire x700 pro
2x80 GB @ RAID0

bude je offline   Reply With Quote
Staro 14.05.2007., 10:15   #8
horza
ono ispred konpjuktora
Moj komp
 
horza's Avatar
 
Datum registracije: Apr 2003
Lokacija: zagreb
Postovi: 3,659
Citiraj:
Autor bude Pregled postova
I sto ako se taj isti korisnik ne odlogira nego samo ugasi preglednik? Session je prekinut al se u bazu nije vratila 0 da je odlogiran. Nikad vise se nece moc ulogirat bez admin akcije
pa za to se prilikom logina koristi vremenska provjera početka prethodnog sessiona, bez obzira spremaju li se sessioni u bazu, file, ili se koristi php session, zar ne?
__________________

Horza (death dwarf)
birthsign: rebel

character perks
+95 excel organisation, +50 weather resistance, -20 energy, -35 image of reality, -80 house choirs

major skills
open-source, discussion, self-hypnosis, poetry, schtulichism

greater powers
final waves (alcohol hypnosis +30, self)
bat brotherhood (skip sleeping, -20 energy/night)
misunderstanding jokes (demoralise +50 in 30ft radius)
summon unknown female (demoralise +75 on target)

artifacts of choice
tv remote (hibernate +20 on self)
lounge chair (fortify sleeping +60 on self)
linux (destabilise system +45 on target)

little is known about this dwarf. he is known to be active overnight and unpredictable.
Cyrodiil citizens have witnessed him in a "thompson" tavern near his lair.
horza je offline   Reply With Quote
Staro 14.05.2007., 11:12   #9
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
Hvala ljudi, molim Vas još malo pomoći, malo detaljnije, ako imate vremena i volje :-)
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 14.05.2007., 11:48   #10
jonyb
Registered User
Moj komp
 
jonyb's Avatar
 
Datum registracije: Apr 2004
Lokacija: zg
Postovi: 887
u tome je caka, ako se korisnik ne odlogira. kod svakog logina provjeravaš prošlo vrijeme od aktivnosti zadnjeg korisničkog logina. ak je korisnik neaktivan npr. preko 15min automatski je status 0 i logira se.
jonyb je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 14.05.2007., 11:52   #11
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
meni je problem to što bi se u tom dijelu održavale online prezentacije pa je vrlo lako moguće da ljudi sjede i gledaju u monitor bez da črčkaju po računalu, a to bi server onda protumačio kao neaktivnost više od 15min i zatvorio bi, a to ne bi bilo nikako dobro. Ima li tu kakvo rješenje?
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 14.05.2007., 11:56   #12
IP9
Premium
 
Datum registracije: Jan 2006
Lokacija: zg
Postovi: 116
ja bi to ovak napravil...

...napravio tablicu u koju se zapisuje username i vrijednost time();. kod logina bi se zapisivalo to obadvoje. korisnik oji se ulogira pri svakom refreshanju ("posebnih") stranica samo updejta taj time();. kad se netko drugi pokuša logirati provjerio bih u bazu zadnji time(); i ako je prošlo npr. 30 (60*30=1800 sekundi) minuta onda bih dopustio login, u suprotnome nebi.
IP9 je offline   Reply With Quote
Staro 14.05.2007., 12:10   #13
IP9
Premium
 
Datum registracije: Jan 2006
Lokacija: zg
Postovi: 116
Citiraj:
Autor beroland Pregled postova
meni je problem to što bi se u tom dijelu održavale online prezentacije pa je vrlo lako moguće da ljudi sjede i gledaju u monitor bez da črčkaju po računalu, a to bi server onda protumačio kao neaktivnost više od 15min i zatvorio bi, a to ne bi bilo nikako dobro. Ima li tu kakvo rješenje?
ako se ne varam... na moodlu postoji neka skripta pri slanju privatnih poruka koja uvijek provjerava jel otvorena stranica od moodla. i izgleda mi kao da javascript uvijek refresha tu stranicu svakih x sekundi. ali ne na način da cijeli prozor refresha, nego samo neke dijelove. možda je složeno s frameovima. mislim da bi tebi tak nešt trebalo.
IP9 je offline   Reply With Quote
Staro 14.05.2007., 12:31   #14
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
Citiraj:
Autor IP9 Pregled postova
ako se ne varam... na moodlu postoji neka skripta pri slanju privatnih poruka koja uvijek provjerava jel otvorena stranica od moodla. i izgleda mi kao da javascript uvijek refresha tu stranicu svakih x sekundi. ali ne na način da cijeli prozor refresha, nego samo neke dijelove. možda je složeno s frameovima. mislim da bi tebi tak nešt trebalo.
Dobra ideja ovo s JavaScriptom. Možda bi to bio put, samo nemam pojma kako to iskombinirati s php-om i bazom (MySQL).
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 14.05.2007., 15:14   #15
jonyb
Registered User
Moj komp
 
jonyb's Avatar
 
Datum registracije: Apr 2004
Lokacija: zg
Postovi: 887
neznam točno koji je kontekst weba koji radiš i koliko ljudi če ga koristiti, ali možda ti je bolje ne zamarati se time. nego več ako imaš više ljudi koji koriste taj web jednostavno im napraviš ovlasti i restrikcije, a to se vrlo lako da riješiti u svakoj skripti.

a za login svaki korisnik nek imam svoj pasw i username.
jonyb je offline   Reply With Quote
Staro 14.05.2007., 16:12   #16
beroland
to te ja pitam
Moj komp
 
beroland's Avatar
 
Datum registracije: Dec 2006
Lokacija: Rijeka
Postovi: 572
Citiraj:
Autor jonyb Pregled postova
nego več ako imaš više ljudi koji koriste taj web jednostavno im napraviš ovlasti i restrikcije, a to se vrlo lako da riješiti u svakoj skripti.

a za login svaki korisnik nek imam svoj pasw i username.
da, to je već napravljeno za dio sajta u kojem su relativno statičke stvari i sve šljaka, ali ovo sa ovakvim logiranjem bi mi trebalo za poseban dio sajta koji planiram napraviti, a radi se o real-time podcastingu i za to mi treba takav login s tim restrikcijama.
__________________
1: Intel Badaxe2 () C2Q Q6600 () 2x2GB Kingmax 800MHz () Gigabyte GF 7300GT () 2 x Seagate 7200.10 320GB SATA II () Corsair VX 550W () DVD±RW LG H22 () Rebel 12 Economy
2: Gigabyte GA-965GM-S2 () C2D E6400 () 2x1GB Kingmax 667MHz () Seasonic S12 380W



beroland je offline   Reply With Quote
Staro 16.06.2007., 11:04   #17
kagjes
Premium
 
Datum registracije: Nov 2006
Lokacija: Zgb
Postovi: 94
moja ideja:

dakle, pri pocetku svakog novog sessiona, neka server posalje korisniku poseban ID (moze cak i neki obicni inkrement broja) a korisnik ga spremi u cookie. neka korisnik pri svakom dohvatu informacija salje taj ID, kako bi se identificirao taj session, a na server nek se sprema zadnje vrijeme dohvata. dalje, napravi na klijentskoj stranici ovo sa refreshom na jednom iframeu. ustvari ne moras cak ni refresh vec slozi mini popup (kao recimo u phpBBu kad dobijes novu poruku) koji bi odrzavao session (iako ovakvo rjesenje trazi jos malo prtljanja, moras provjeravat da li se popup otvorio). mislim da ti za periodicki refresh cak ne treba javascript vec imas drito za to u htmlu nekakav tag (pogledaj si source od iskrica.com kad se logiras, tamo se radi periodicki refresh stranice) gdje ce se samo slati taj ID, a server ce tako osvjezavat vrijeme zadnjeg pristupa. ako pokusa netko dobiti novi ID ili pristupit sa nekim drugim IDom za vrijeme sessiona, server ce ga odbiti. server zadrzava ID sve dok ne prodje odredjeno vrijeme i dok neko ne zatrazi drugaciji ID, sto ce reci da korisnik koji je zadnji pristupao moze sve pozatvarat otvorit i da opet mu sve funkcionira, jer klijentski ID je spremljen u cookieu a server je njega zadnjeg zapamtio.


eto, ovo bi ti ziher sljakalo. malo bi trebo programirat al to ti je super
kagjes je offline   Reply With Quote
Staro 19.06.2007., 02:25   #18
bude
Warcraft III TFT
 
bude's Avatar
 
Datum registracije: Jun 2004
Lokacija: Zg
Postovi: 862
Citiraj:
Autor kagjes Pregled postova
moja ideja:

dakle, pri pocetku svakog novog sessiona, neka server posalje korisniku poseban ID (moze cak i neki obicni inkrement broja) a korisnik ga spremi u cookie. neka korisnik pri svakom dohvatu informacija salje taj ID, kako bi se identificirao taj session, a na server nek se sprema zadnje vrijeme dohvata. dalje, napravi na klijentskoj stranici ovo sa refreshom na jednom iframeu. ustvari ne moras cak ni refresh vec slozi mini popup (kao recimo u phpBBu kad dobijes novu poruku) koji bi odrzavao session (iako ovakvo rjesenje trazi jos malo prtljanja, moras provjeravat da li se popup otvorio). mislim da ti za periodicki refresh cak ne treba javascript vec imas drito za to u htmlu nekakav tag (pogledaj si source od iskrica.com kad se logiras, tamo se radi periodicki refresh stranice) gdje ce se samo slati taj ID, a server ce tako osvjezavat vrijeme zadnjeg pristupa. ako pokusa netko dobiti novi ID ili pristupit sa nekim drugim IDom za vrijeme sessiona, server ce ga odbiti. server zadrzava ID sve dok ne prodje odredjeno vrijeme i dok neko ne zatrazi drugaciji ID, sto ce reci da korisnik koji je zadnji pristupao moze sve pozatvarat otvorit i da opet mu sve funkcionira, jer klijentski ID je spremljen u cookieu a server je njega zadnjeg zapamtio.


eto, ovo bi ti ziher sljakalo. malo bi trebo programirat al to ti je super
ideja je ok, pomocu AJAX-a izvest refreshanje i odrzavanje sessiona i to bi trebalo radit
__________________
A64 Venice
Epox 9npa+ Ultra
Super Talent 2x512 MB
Saphire x700 pro
2x80 GB @ RAID0

bude je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na