[ Príspevkov: 18 ] 
AutorSpráva
Offline

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

Registrovaný: 14.04.09
Prihlásený: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 29.08.2011 18:13 | kontrola povolenia cookies

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 | 181
Bydlisko: Nitra / Bra...
NapísalOffline : 29.08.2011 19:17 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 31.08.2011 16:03 | kontrola povolenia cookies

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 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 31.08.2011 17:09 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 31.08.2011 17:25 | kontrola povolenia cookies

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 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 31.08.2011 19:27 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 31.08.2011 19:38 | kontrola povolenia cookies

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 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 31.08.2011 19:52 | kontrola povolenia cookies

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 | 0
NapísalOffline : 31.08.2011 19:56 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 31.08.2011 20:02 | kontrola povolenia cookies

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 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 31.08.2011 20:19 | kontrola povolenia cookies

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 | 0
NapísalOffline : 31.08.2011 21:31 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 31.08.2011 23:31 | kontrola povolenia cookies

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 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 01.09.2011 7:21 | kontrola povolenia cookies

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 | 181
Bydlisko: Nitra / Bra...
NapísalOffline : 01.09.2011 9:10 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 01.09.2011 10:46 | kontrola povolenia cookies

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 | 0
NapísalOffline : 01.09.2011 12:16 | kontrola povolenia cookies

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
Napísal autor témyOffline : 01.09.2011 12:36 | kontrola povolenia cookies

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;


 [ Príspevkov: 18 ] 


kontrola povolenia cookies



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

342

24.02.2013 18:04

S1m0n

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

Pouzity obrazok bez POVOLENIA!

v Obchody, reklamácie a právo

4

723

02.09.2009 22:05

cino

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

593

24.10.2007 15:24

aaggii

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

cookies

v PHP, ASP

8

1053

25.01.2009 19:26

elan111

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

cookies

v Sieťové a internetové programy

6

852

13.01.2007 16:52

xificurC

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

Cookies

v JavaScript, VBScript, Ajax

4

476

24.08.2013 21:59

shaggy

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

Cookies

v HTML, XHTML, XML, CSS

10

852

12.03.2008 16:21

jablko05

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

cookies

v HTML, XHTML, XML, CSS

7

792

06.01.2008 15:24

Matho

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

Cookies

v PHP, ASP

2

403

10.01.2012 7:59

mitko

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

cookies - help

v PHP, ASP

5

476

02.05.2010 17:15

pizet

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

duplicitne Cookies

v PHP, ASP

5

435

09.12.2011 16:04

emer

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

Nefunguje cookies

v Sieťové a internetové programy

2

552

24.10.2008 20:37

walther

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

nadstavenie cookies

v Sieťové a internetové programy

3

443

29.04.2011 18:54

tairikuokami

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

PHP, Cookies

v PHP, ASP

15

856

24.08.2011 11:59

chrono

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

obcas nefunkcne cookies

v PHP, ASP

13

666

01.06.2009 15:18

walther

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

FF cookies POMOC !!!

v Sieťové a internetové programy

0

318

06.08.2011 16:56

archer89



© 2005 - 2025 PCforum, edited by JanoF