2016-09-28 15 views
8

Niedawno przeczytałem "RFC 6265" na atrybucie "Ta sama strona", zapoznałem się z artykułami, które mówiły o tym w kwietniu 2016 r., Atrybut "tej samej witryny" został zaimplementowany dla przeglądarki Chrome 51 i Opery 39 ...Zestaw do php "SameSite = Strict"?

Zastanawiam się, czy obecny PHP obsługuje tworzenie plików cookie z tym atrybutem?

referencyjny:

+5

nawet jeśli funkcja setcookie nie, możesz ZAWSZE po prostu wypisać własny niestandardowy 'header ('Set-Cookie: ...')' –

+0

@MarcB: True, nie zapomnij o adresie URL zakodować nazwę i również wartość. – SilverlightFox

+0

coś nowego w tym temacie? –

Odpowiedz

4

Wydaje się, że można nadużywać „ścieżka” lub parametr „domeny” z funkcją „SetCookie” PHP wkraść w atrybucie SameSite ponieważ PHP nie uciec średników:

setcookie('samesite-test', '1', 0, '/; samesite=strict'); 

Następnie PHP wysyła następujący Nagłówek HTTP:

Zestaw ciastek: test samesytu = 1; ścieżka = /; samesite = ścisłe

Właśnie odkryłem to kilka minut temu, więc proszę zrobić własne testy! Używam PHP 7.1.11.

+0

Odpowiedź była dla mnie interesująca, przyznam, że nigdy tego nie próbowałem, ponieważ specyfikacja nie mówi (o ile pamiętam) o tej możliwości ... Testuję to, aby zobaczyć, jak się zachowuje. –

+0

Testowałem w [phptester ] (http://phptester.net/) na PHP 7.0 i ten test się powiedzie ... wielkie dzięki za odpowiedź! –

+0

Praca na Chrome 63 (komputer) 62 (Android), natywny Android (v62) i Opera (48) ... Firefox (57) nie jest obsługiwany, ale kolejne wydanie (58) obiecuje wsparcie. –

2

Według this site wydaje się, że jest to kwestia PHP 7.3. Od wyników głosowania wdrażane jest bardziej ogólne rozszerzenie funkcji związanych z plikami cookie + może być również nowy klucz w pliku php.ini.

Ale jak już Marc B napisał, możesz zamiast tego użyć wywołania funkcji header(), zrobiłbym to w jakimś pliku z użyciem innych rzeczy początkowych.

Powiązane problemy