| | |
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
Autor | Správa |
---|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal baumax: 10.01.2013 17:43 | |
|
Na webe mam prihlasenie - ak sa clovek prihlasi, tak sa naplni Kód: $_SESSION['uzivatel'] hodnotou jeho nicku, t.j. ked sa prihlasi janko, tak Kód: $_SESSION['uzivatel'] = 'janko' Na webe potom kontrolujem danu session $_SESSION['uzivatel'] a ked je naplnena, tak clovek moze napr. napisat prispevok, poslat postu. Ta session je platna pokial sa nezavrie prehliadac, aspon myslim / alebo pokial sa neodhlasi clovek, alebo neuplynie cas X sekund, odkedy nebol aktivny. Moja otazka: Viem ja na strane servera zrusit danu session pre konkretneho cloveka ? napriklad chcem, aby nick Peter nemohol uz napisat prispevok, proste chcem ho odhlasit "na dialku", je to mozne ? (Peter ma na svojom PC danu session $_SESSION['uzivatel'] nastavenu na hodnotu "Peter")
|
|
Registrovaný: 20.01.07 Prihlásený: 12.02.24 Príspevky: 401 Témy: 87 | Napísal dulius: 10.01.2013 19:18 | |
|
toto nebude fungovat ? Kód: if ($_SESSION['uzivatel'] == 'Peter') {unset($_SESSION['uzivatel']);} Teda len na PC, kde je prihlaseny Peter sa ta session zrusi.
|
|
Registrovaný: 20.01.07 Prihlásený: 12.02.24 Príspevky: 401 Témy: 87 | Napísal dulius: 10.01.2013 19:27 | |
|
samozrejme tu hodnotu "Peter" si vlozis do nejakej premennej a budes si ju nacitavat v nejakom formulari, kde to meno napises a . odosles a vykona sa ti potom ten skript Kód: . . $meno = %_POST['meno']; if ($_SESSION['uzivatel'] == '<?= $meno ?>') {unset($_SESSION['uzivatel']);} . .
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Session je uložená na strane servera, nie na strane klienta (aspoň by mala byť). Na strane klienta môže byť tak cookie so session ID. Ty ako admin, keď sa prihlásiš, nemáš prístup k jeho session, to by bolo brutal porušenie bezpečnosti. Ak by si spravil to, čo píše dulius, fungovalo by to len v prípade, keby taký link dotyčný človek navštívil. Keby si ten skript navštívil ty, snažilo by sa to zrušiť hodnotu premennej v tvojej session (čo by samozrejme neprešlo kvôli danej podmienke). Skús možno napísať, o čo ti vlastne ide, lebo násilné odhlasovanie userov na diaľku mi príde ako riadna volovina... Dá sa zrušiť všetky sessiony, ale pravdepodobne to nejde selektívne LEN jednému userovi podľa nejakej podmienky. Teoreticky by sa to dalo, dá sa získať všetky sessiony na serveri a potom ich parsnúť a hľadať, ale........
_________________ C#, PHP, ... |
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 10.01.2013 20:22 | |
|
Necital som to vyssie ale ak by si aktualnu session ukladal do db, tak vies predsa selektivne len jednemu userovi session zrusit predsa, aspon podla mna by to malo byt celkom jednoduche spravit, ci sa mylim?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 10.01.2013 20:42 | |
|
ano, ja chcem zrusit na dialku prihlasenie usera dovodom moze byt to, ze robi na webe bordel a mna napadlo ho nasilu odpojit ale ako pises - nejde to, takze budem musiet to spravit inak asi do tabulky userov dam dalsi stlpec - kde danemu nicku nahodim hodnotu a potom budem ten stlpec checkovat pri kazdej aktivite nicku a ked tam bude ta hodnota, tak mu danu aktivitu (napisanie prispevku) nedovoli spravit
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Jop, to je štandardný prístup... Ban/obmedzenie činnosti
_________________ C#, PHP, ... |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 10.01.2013 21:05 | |
|
len som si myslel ze sa to bude nejako rychlejsie a jednoduchcie dat spravit cez to session, no blbo som myslel
|
|
Registrovaný: 20.01.07 Prihlásený: 12.02.24 Príspevky: 401 Témy: 87 | Napísal dulius: 14.01.2013 15:09 | |
|
walther píše: Session je uložená na strane servera, nie na strane klienta (aspoň by mala byť). Na strane klienta môže byť tak cookie so session ID. Ty ako admin, keď sa prihlásiš, nemáš prístup k jeho session, to by bolo brutal porušenie bezpečnosti. Ak by si spravil to, čo píše dulius, fungovalo by to len v prípade, keby taký link dotyčný človek navštívil. Session si nepamata prehliadac ? teda ked si zavries prehliadac, Session za automaticky zrusi a nie preto ze to spravil server,ci? ten moj prikaz, co som pisal potom vlastne spravi co? nezrusi danemu cloveku session? vezmime si priklad: niekto je na webe prihlaseny. Session sa naplnila jeho nickom Kód: $_SESSION['uzivatel'] = 'Peter' - takze toto sa naplni na serveri? ja teraz na strane servera vykonam prikaz: Kód: if ($_SESSION['uzivatel'] == 'Peter') {unset($_SESSION['uzivatel']);} vysledkom bude zrusenie session na serveri a vsetci prihlaseni ludia budu zrazu odhlaseni ?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 14.01.2013 20:37 | |
|
Session sa pamata dovtedy, kym sa drzi session id v cookie alebo v URL. Nemyslim, ze je stopercentne spolahnutie, kedy uz isto nebude session platna. Ano, tym tvojim kodom odhlasis uzivatela Peter.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Ten kód, ktorý si dal, síce odhlási len užívateľa Peter, avšak len v prípade, ak sa Peter na danej webstránke ukáže. Keď danú stránku otvorí, skontroluje sa jeho session a keďže bude obsahovať danú hodnotu, vykoná sa príkaz. Odhlásil by teda sám seba, aj keď nevedomky... Aby to ale bolo použiteľné v praxi, potreboval by si myšlienku o dosť rozvinúť a napríklad začať porovnávať so zoznamom "nechcených"...Čiže sa dostaneš tam, kam sme sa aj dostali - k implementácii banlistu. V tom prípade je už bezpredmetné riešiť nejaké takéto session odhlasovanie, keď proste stačí človeka kompletne vykázať zo serveru, prípadne okresať právomoci... Nehovoriac o tom, že dané kontrolovanie by sa realizovalo pri každej požiadavke a to aj ľuďom, ktorí s tým nemajú nič spoločné. Myslím, že obyčajná kontrola pred prihlásením je lepšia možnosť, keďže tá sa vykoná len raz (prípadne pri každej dôležitejšej činnosti).
_________________ C#, PHP, ... |
|
|
poradim ti: chces neco ako /kick na chate Kód: <?php session_start(); //Nastartujem session $kickname = "Jozko"; //Nastavim meno usera if($_SESSION["username"] == $kickname){ session_destroy(); //Odstranim vsetky session pre usera (totalne odhlasenie) }?>
|
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 01.02.2013 15:46 | |
|
ondrejko a aky je rozdiel medzi tym co si napisal a tym co napisal dulius ? Kód: if ($_SESSION['uzivatel'] == 'Peter') {unset($_SESSION['uzivatel']);}
|
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 01.02.2013 16:01 | |
|
nezrusi mu ten tvoj prikaz aj prihlasenia na inych weboch, na inom tabe toho isteho prehliadaca ?
|
|
|
nie, zrusi iba na tvojom mam to vyskusane
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 11.02.2013 10:47 | |
|
baumax píše: ondrejko a aky je rozdiel medzi tym co si napisal a tym co napisal dulius ? taky, ze ondrejko0102 dal meno pouzivatela do zvlast premennej
_________________ Sorry za prelkepy |
|
|
taky, ze ked nastavi pre neho napr. 10 session, zmaze vsetky
|
|
Registrovaný: 19.03.07 Prihlásený: 14.04.24 Príspevky: 7076 Témy: 85 Bydlisko: BA | Napísal void: 13.02.2013 0:49 | |
|
Predstav si ze mas Kód: session_start(); $_SESSION['name'] = 'dick'; $_SESSION['nick'] = 'pedro';
tak Kód: unset($_SESSION['nick']);
ti odstrani obsah $_SESSION['nick'] zatialco $_SESSION['name'] ostava nadalej pristupne. Kód: session_destroy(); ti zmaze obsah oboch premien a vlastne obsah celeho pola $_SESSION[].
_________________ Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 & Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 & Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 13.02.2013 7:49 | |
|
no ja viemm, co robi session_destroy(); ja len ze ja riesim tu session, ktoru potrebujem riesit a to riesenie dal dulius session_destroy(); samozrejme spravi to iste + este viac, ale to viac ma nezaujima
|
|
|
len preto, ze ja mam asi aj 10 session poli a tiez som to riesil cez unset, ale to bolo vela zbytocnych riadkov
|
|
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|