Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 18 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 29.08.2011 18:13

Chcem kontrolovať, či je povolené cookies cez php. Teraz to mám spravené tak, že najprv cookies uložím a na druhej stránke kontrolujem, či existujú.

To má ale 2 problémy, kvôli ktorým sa to dá oklamať:
- ak užívateľ načíta stránku, vypne cookies a pokračuje na podstránku kde sa cookies vyžaduje
- ak niekto bez predošlého navštívenia stránky klikne na odkaz na moju podstránku, kde už sa cookies vyžaduje

Nechcem používať JS, lebo to je rovnako neisté. Dá sa to nejak riešiť ?

//viem, nespoliehať sa na cookies, ale jednoducho či existuje iný spôsob kontroly


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 29.08.2011 19:17

1daemon1 píše:
Teraz to mám spravené tak, že najprv cookies uložím a na druhej stránke kontrolujem, či existujú.


ako inak by si to chcel? mozes to akurat spravit presmerovanim v hlavicke, aby si user nic nevsimol..

problemy sa mi nezdaju byt problemami,
1, vzdy na zaciatku kontroluj pritomnost cookies, nastavil si uz nejaku hodnotu, tak jednoducho skontroluj ci existuje, ak nie tak presmerujes na zaciatok, kde sa cookies nastavuju

2, prvy bod ti vyriesi aj tento

nieco taketo, neskusal som to pisem len tak

cookies.php
Kód:
if(isset($_GET['was_set']))
  {
 
    echo isset($_COOKIE['test']) ? 'Cookies zapnute' : 'Cookies vypnute';
 
  }else{
   
    setcookie('test', 'povolene?', time() + 5);
   
    header('Location: http://domain-name.tld/cookies.php?was_set');
    exit;
 
  }







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 31.08.2011 16:03

Pouzivam buffering a s nim by to nemuselo pracovat za niektorych okolnosti ako ma ak spravne chapem ale mozem ho teda vypnut. zvykol som si to pouzivat a na taketo veci potom zabudam, dik za radu.

//edit:

Ma to jeden hacik ale. Ani toto nezisti, ci je zapnute cookie na 100%. Pretoze mam formular, cez ktory posielam data metodou post. Pokial ho klasicky pouzijem, nebude to fungovat pretoze pri refresnuti stranky (kvoli vkladani premennej "was_set" do pola GET) mi z pola POST data zmiznu. takze musim v action nastavit uz premennu "was_set" a tu je problem pretoze na stranke kde sa spracuvava formular uz sa preskoci funkcia setcookie.

samozrejme mozem nastavit time na vacsiu hodnotu a tym padom by mi to zobralo cookie este z predoslej stranky, v tom pripade moze ale uzivatel navstivit stranku s formularom, vypnut cookie a formular pouzit. Kazdopadne ta kontrola sa preskakuje na miestach, kde to najviac potrebujem - v scriptoch kde sa spracuvavaju formulare.

riesenim by bolo ak by som mohol refresnut stranku tak, ze nielen skopirujem adresu url danej stranky, ale aj celu hlavicku skopirujem a refresnem s nou. je nieco take mozne ? ak nie existuje este nejaky figel ako checkovat cookie tak aby to vyriesilo hore spominany problem ?


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 31.08.2011 17:09

Môžeš ešte použiť .htaccess a zakázať prístup z iných adries ako sú tie tvoje...

resp. čo má to cookie za funkciu, že je tak nevyhnutné ho tam mať...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 31.08.2011 17:25

Citácia:
Môžeš ešte použiť .htaccess a zakázať prístup z iných adries ako sú tie tvoje...


Tomu som nepochopil. Ako mi moze pomost zakazovanie pristupu nejakych adries a pod. ?

Citácia:
resp. čo má to cookie za funkciu, že je tak nevyhnutné ho tam mať...


Mam ho vo vela roznych pripadoch ako alternativu identifikacie uzivatela. Nespolieham sa uplne na to, ze ho podla cookin a inych metod identifikujem, ale cim lepsie si vytvorim toto overovanie cookin, tym efektivnejsie (resp. s vacsou pravdepodobnostou) mozem uzivatela identifikovat. Samozrejme sessions, to vyuziva cookies tiez a ukladanie id relacie do URL pri vypnutych cookinach tomu sa vyhybam.

Da sa to nejak s preposielanim toho pola post ?

// Googlim ako sa len da, ale s php asi preposielat pole POST nemozem (fakt nechapem preco ziadna funkcia na posielanie POST v php nieje).

Tak asi budem musiet pri refresovani preniest data cez GET. Ale potrebujem ich zakryt, tak isto ako potrebujem zakryt to "was_set" takze na to by som uz mohol pouzit htaccess vsak ?


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 31.08.2011 19:27

No tá kontrola čo ti napísal emer sa má vykonať len raz. Výsledok si uložíš na servery a v tom formulári testuješ len to či bola kontrola vykonaná, ešte pred jeho odoslaním, takže nepotrebuješ posielať nijaké hlavičky a strácať posty, ktoré si poslal. Ten .htaccess zabráni, aby sa k tomu formuláru dostal niekto z nežiadúcej adresy...

PS: ako sa vyhýbaš tomu, aby pri vypnutých cookies neposielal server SID v adrese?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 31.08.2011 19:38

no po prve emer ten priklad nepisal urcite na to, aby sa vykonal iba raz pretoze tam nastavil time()+5. po druhe aj tak ja ho iba raz vykonat nechcem, ved prave nato som zalozil tuto temu aby som to mal co najlepsie vytvorene a obmedzil to, ze niekto si vypne cookies pocas surfovania a ja ho budem uz potom detekovat ako niekoho kto ma zapnute cookiny. nechcem to len na kontrolu beznych userov ale chcem aj ztazit pracu tym, ktory sa snazia narobit neporiadok.

jednoducho chcem tu kontrolu vykonat pri kazdom nacitani stranky osobitne. prave sa nejak snazim vyspekulovat nieco na princip emerovho kodu tak, ze pri refresovani sa pole post bude prenasat cez get a premenne v get sa budu skryvat pomocou mod_rewrite v htaccess, to by malo ist nie ? este som nikdy nepouzival htaccess preto sa pytam.

htaccess na obmedzovanie ip adries nepotrebujem lebo na to uz mam php script.

//edit
Citácia:
PS: ako sa vyhýbaš tomu, aby pri vypnutých cookies neposielal server SID v adrese?


jednoducho na niektore stranky vyzadujem zapnute cookiny a nepovolim uzivatelovy pristup pokial ich zapnute nema. je to pre mna idealne riesenie tak prosim nepiste ze to je zle po stranke dostupnosti.


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 31.08.2011 19:52

Ja nechápem, čo tým vypnutím cookies vlastne ten "útočník" získa?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 31.08.2011 19:56

Ak chceš pomocou GET preniesť nejaké údaje, tak ich (logicky), pomocou mod_rewrite nijako neschováš (pretože klient ich musí dostať, takže ich používateľ bude vidieť).

Presmerovanie POST by malo fungovať normálne (napr. pomocou toho mod_rewrite), každopádne ak tam potrebuješ cookies, tak jednoducho presmeruj používateľa na stránku s upozornením, že nemá povolené cookies, a tebe sa to nepáči. Používateľ sa na tú stránku bude musieť preklikať znovu a ak nezapne cookies, ty ho zase presmeruješ ...

PS: A netuším, ako má cookies zabrániť robeniu neporiadku (každý normálny bot, či niečo podobné, cookies podporuje).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 31.08.2011 20:02

nechapete co chcem. to pole GET nejde uzivatelovi. uzivatel odosle post, da zobrazit nejaku php stranku a ja ju presmerujem a to pole post musim dostat na tu presmerovanu, to chcem robit cez pole get tak aby to nevidel. nic nepotrebuje dostat uzivatel, len skrytu adresu.


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 31.08.2011 20:19

A načo ti bude to posielanie toho postu. Veď ak ho už máš, tak ho snáď spracuješ, nie? Ten post nepošleš nijako. Také chytré formuláre(ktorým sa nestrácajú vyplnené polia) to robia tak, že všetky polia vyplnia pomocou toho postu, ktorý si už poslal.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 31.08.2011 21:31

1daemon1 píše:
nechapete co chcem. to pole GET nejde uzivatelovi. uzivatel odosle post, da zobrazit nejaku php stranku a ja ju presmerujem a to pole post musim dostat na tu presmerovanu, to chcem robit cez pole get tak aby to nevidel. nic nepotrebuje dostat uzivatel, len skrytu adresu.
Čo je zlé na tom, že používateľ odošle nejaký formulár pomocou POST a ty ho presmeruješ na inú stránku (ktorej prehliadač tie údaje znova pomocou POST odošle).

Ak tam chceš, medzi tým presmerovaním, niečo zobraziť, tak môžeš tie údaje uložiť do session a do url pridáš SID (a ak zistíš, že cookies funguje, pretože tam po tom presmerovaní úž cookies budeš mať, tak sid prenesieš do cookies a môžeš ho z url odstrániť).

A ak ide len o vyplnený formulár, tak urob to, čo píše camo.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 31.08.2011 23:31

Prepacte, asi vam nerozumiem. Ak sa vam nechce citat moj sloh tak si prosim precitajte (to podstatne) iba pod ciarou :) .

Citácia:
Ja nechápem, čo tým vypnutím cookies vlastne ten "útočník" získa?

Uz nic, az teraz som si to uvedomil ze to co som chcel spravit bola uplna hlupost.

Ale to overovanie cookies teraz potrebujem k prihlasovaniu, aby ked identifikujem prihlaseneho usera cez session tak sa SID neukladalo do adresy.
Najprv vam vysvetlim preco chcem kontrolovat cookies na kazdej stranke osobitne (pouzit priklad ktory napisal emer) a nie tak, ze na jednej stranke cookie ulozim, na druhej skontrolujem. Ratajme s tym, ze dojde k jednemu z tychto pripadov:
1) user pride na stranku s prihlasovacim formularom (cookies sa ulozi), odide z nej ale za nejaky cas sa vrati uz s vypnutymi cookies a pouzije formular (popripade vypne cookies uz na mojej stranke)
2) user ma vypnute cookies, navstivi stranku s prihlasovacim formularom, zapne cookies a skusi sa prihlasit (toto je pravdepodobnejsie pretoze ak uz mal raz cookies vypnute a ja ho na to upozornim, moze otvorit formular, a az potom skusit to cookies zapnut)

pripad 1- Ak by som kontroloval iba ci moja cookina existuje, tak by v tomto pripade sa uzivatel prihlasil s vypnutymi cookinami a SID mal v adrese. pretoze cookina ktoru kontrolujem bola vytvorena este pred tym nez cookies vypol.

Aj kvoli 2. pripadu musim kontrolovat cookies na kazdej stranke osobitne, lebo pokial by som bral cookies z predoslej, vyhodnotil by som ho ze ma cookies vypnute a on by bol z toho zmateny.

______________________________________________

Ok takze kvoli tomuto chcem pouzivat na kazdej stranke refresh. Ale problem mam s tymto:
user vyplni prihl. formular a odosle, mne sa nacita stranka ktora formular spracuvava. ako prve sa spusti kontrola cookies - cize cookina sa ulozi, nasleduje refresh cez header( "Location: " $adresa ); a tu je ten problem. hned ako takto refresnem data z pola post sa mi v novo nacitanej stranke kde uz mozem pohodlne kontrolovat cookies, data z pola post neukazu. Pretoze to je nanovo nacitana stranka bez nejakeho odosielania POST-u. Ja som to skusal a mal som s tymto problem tak aspon dufam ze problem v skutocnosti nebol v niecom inom.

chrono mi uz dal v podstate riesenie, ale ma jeden malicky nedostatok:
stranka na ktorej sa spracuvava formular, pred tym nez pouzijem header location tak ulozim data z pola post do session a v novo refresnutej stranke ich zo session vyberiem. po refresi ale ostane v url SID na relacie dat z pola post. a to moze byt nepezpecne, aj ked je velmi mala pravdepodobnost ze niekomu takto uniknu data.

Prepacte za sloh a dufam ze som sa vyjadril zrozumitelne.


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 01.09.2011 7:21

Citácia:
ale ostane v url SID na relacie dat z pola post. a to moze byt nepezpecne

Myslím, že dosť dobre nechápeš v čom je to nebezpečenstvo. Ak ti niekto odpočúva pakety, tak sa na to môžeš vykašľať. Ani cookies ti nepomôžu. Musel by si použiť https, alebo ssl, čo by bolo riešenie, ak by si ten form posielal trebárs do banky. Cookies sú inak zraniteľné cez XSS.
No a v neposlednom rade header() neposiela SID, pri vypnutých cookies, čo ja považujem za dosť blbé... To vlastne znamená, že sa ku SESSION v ktorom máš uložené dáta, nedostaneš ak ho tam ručne nedoplníš...
Tak hurá do štúdia...

PS:Ešte si nevidel formulár, ktorý sa posiela userovi aj s vyplnenými dátami z predošlej stránky? ALE ČO AK ŤA NIEKTO SLEDUJE?


Offline

Užívateľ
Užívateľ
kontrola povolenia cookies

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181
Bydlisko: Nitra / Bra...
Príspevok NapísalOffline : 01.09.2011 9:10

camo píše:
Cookies sú inak zraniteľné cez XSS.

nastavis HTTPonly a si v suchu

nechce sa mi citat cele co ste pisali, lebo je toho dost. ale 1daemon1, t si ma trosku nepochopil...

ako ti pisal camo, tu kontrolu, ktoru som ti poslal vykonas iba raz. Potom uz vies, ze cookies ma povolene, nastavis mi potrebnu hodnotu. Zobrazi sa mu formular, ktory odosle.. Ked si tam vypne cookies, ty uz si mu niejake nastavoval, takze predtym ako srpacujes formular zistis, ci tebou nastavena hodnota existuje.. ak ano, znamena to ze cookies nevypol a mozes pokracovat.. ak ta hodnota neexistuje, znamena to, ze cookeis vypol, a teda formular nespracujes. kapiš? a takto to budes kontrolovat pri kazdej poziadavke







_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 01.09.2011 10:46

aha. tak potom je to jednoduche teda. ja som si myslel ze pokial niekto vypne cookies tak uz ulozene cookies pouzivat mozem ale nemozem ukladat nove. tak diki vam za rady.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 01.09.2011 12:16

Keď ti ide o bezpečnosť, rozumnejšie by bolo obmedziť platnosť session a/alebo, občas zmeniť SID (v php je na to nejaká funkcia).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok Napísal autor témyOffline : 01.09.2011 12:36

Pokial som spravne vygooglil tak je to session_regenerate_id.

a v dokumentaci pri tej funkci jeden uzivatel pisal ze je lepsie pouzit nieco taketo napriklad:
Citácia:
In my code this function resulted in some Internet Explorer 8 browsers loosing their connection with the session. As mentioned above this is probably because the page reloads before the cookie is updated on the client side:

This is the only manual workaround that never produced this problem for me:

Kód:
$old_session = $_SESSION;
session_write_close();
session_id(sha1(mt_rand()));
session_start();
$_SESSION = $old_session;


Odpovedať na tému [ Príspevkov: 18 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Odoprety pristum / chybaju povolenia

v Operačné systémy Microsoft

1

249

24.02.2013 18:04

S1m0n Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pouzity obrazok bez POVOLENIA!

v Obchody, reklamácie a právo

4

697

02.09.2009 22:05

cino Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako vypnut vo viste blbe hlasky ohladom povolenia

v Operačné systémy Microsoft

4

550

24.10.2007 15:24

aaggii Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cookies

v HTML, XHTML, XML, CSS

7

756

06.01.2008 15:24

Matho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cookies

v PHP, ASP

2

366

10.01.2012 7:59

mitko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cookies

v PHP, ASP

8

1013

25.01.2009 19:26

elan111 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cookies

v Sieťové a internetové programy

6

805

13.01.2007 16:52

xificurC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cookies

v JavaScript, VBScript, Ajax

4

437

24.08.2013 21:59

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cookies

v HTML, XHTML, XML, CSS

10

802

12.03.2008 16:21

jablko05 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nadstavenie cookies

v Sieťové a internetové programy

3

411

29.04.2011 18:54

tairikuokami Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP, Cookies

v PHP, ASP

15

816

24.08.2011 11:59

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. cookies - help

v PHP, ASP

5

437

02.05.2010 17:15

pizet Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. duplicitne Cookies

v PHP, ASP

5

409

09.12.2011 16:04

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje cookies

v Sieťové a internetové programy

2

509

24.10.2008 20:37

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. co je cookies ?

v Sieťové a internetové programy

3

433

12.02.2010 16:27

Nick_177 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cookies a GDPR

v Internetový marketing, SEO, reklama

4

527

21.06.2018 11:39

woodergo Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra