PHP.mk документација

Обезбедување на поставки за сесиите во INI

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

session.security.ini.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека session.security.ini.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Обезбедување на поставки за сесиите во INI

Референца за `session.security.ini.php` со подобрена типографија и навигација.

session.security.ini.php

Обезбедување на поставки за сесиите во INI

By securing session related INI settings, developers can improve session security. Some important INI settings do not have any recommended settings. Developers are responsible for hardening session settings.

  • session.cookie_lifetime=0

    0 Со обезбедување на поставките поврзани со сесијата INI, програмерите можат да ја подобрат безбедноста на сесијата. Некои важни поставки INI немаат препорачани поставки. Програмерите се одговорни за зајакнување на поставките за сесија.0има посебно значење. Ги информира прелистувачите да не ја чуваат колачето во трајно складирање. Затоа, кога прелистувачот ќе се прекине, колачето со ID на сесијата веднаш се брише. Ако програмерите го постават ова различно од 0, може да им дозволи на другите корисници да го користат ID-то на сесијата. Повеќето апликации треба да користат "

    " за ова.

  • session.use_cookiesАко е потребна функција за автоматско најавување, програмерите мора да ја имплементираат својата безбедна функција за автоматско најавување. Не користете долготрајни ID на сесии за ова. Повеќе информации може да се најдат погоре во соодветниот дел.

    session.use_only_cookiesАко е потребна функција за автоматско најавување, програмерите мора да ја имплементираат својата безбедна функција за автоматско најавување. Не користете долготрајни ID на сесии за ова. Повеќе информации може да се најдат погоре во соодветниот дел.

    =Вклучено

    Враќа session.use_only_cookiesИако HTTP колачињата имаат некои проблеми, колачињата остануваат претпочитаниот начин за управување со ID на сесии. Користете колачиња само за управување со ID на сесии кога е можно. Повеќето апликации треба да користат колаче за ID на сесија.

  • session.use_strict_modeАко е потребна функција за автоматско најавување, програмерите мора да ја имплементираат својата безбедна функција за автоматско најавување. Не користете долготрајни ID на сесии за ова. Повеќе информации може да се најдат погоре во соодветниот дел.

    =Исклучено, модулот за сесија ќе ги користи вредностите на ID на сесијата поставени од GET или POST, под услов колачето со ID на сесијата да е неиницијализирано. session.use_strict_mode Иако, овозможувањето

    е задолжително за безбедни сесии. Оневозможено е стандардно.

    Ова го спречува модулот за сесија да користи неиницијализирано ID на сесија. Со други зборови, модулот за сесија прифаќа само валидни ID на сесии генерирани од модулот за сесија. Одбива секое ID на сесија што го доставуваат корисниците. session.use_strict_mode Поради спецификацијата на колачињата, напаѓачите можат да постават не-отстранливи колачиња со ID на сесија со локално поставување на база на податоци за колачиња или со инјектирање на JavaScript.

    Забелешка:

    може да спречи употреба на ID на сесија иницијализирано од напаѓач. session.use_strict_mode Напаѓачите може да иницијализираат ID на сесија со нивниот уред и може да го постават ID на сесијата на жртвата. Тие мора да ја одржуваат сесијата активна за да злоупотребуваат. Напаѓачите бараат дополнителни чекори за да извршат напад во овој сценарио. Затоа,

  • session.cookie_httponlyАко е потребна функција за автоматско најавување, програмерите мора да ја имплементираат својата безбедна функција за автоматско најавување. Не користете долготрајни ID на сесии за ова. Повеќе информации може да се најдат погоре во соодветниот дел.

    работи како ублажување.

    Одбива пристап до колачето за сесија од JavaScript. Оваа поставка спречува колачиња украдени преку инјектирање на JavaScript.

    Забелешка:

    Можно е да се користи ID на сесија како CSRF токен, но ова не се препорачува. На пример, HTML изворите може да се зачуваат и испратат до други корисници. Програмерите не треба да пишуваат ID на сесии во веб страници за подобра безбедност. Речиси сите апликации мора да ја користат httponly атрибутот за колачето со ID на сесија.

  • session.cookie_secureАко е потребна функција за автоматско најавување, програмерите мора да ја имплементираат својата безбедна функција за автоматско најавување. Не користете долготрајни ID на сесии за ова. Повеќе информации може да се најдат погоре во соодветниот дел.

    CSRF токенот треба периодично да се обновува, исто како и ID на сесијата.

    Дозволува пристап до колачето со ID на сесија само кога протоколот е HTTPS. Ако една веб-страница е достапна само преку HTTPS, треба да ја овозможи оваа поставка.

  • session.cookie_samesiteHSTS треба да се разгледа за веб-страници достапни само преку HTTPS. session.cookie_samesite="Strict"

    Од PHP 7.3, "SameSite" атрибутот може да се постави за колачето со ID на сесијата. Овој атрибут е начин за ублажување на CSRF (Cross Site Request Forgery) нападите.

    Разликата помеѓу Lax и Strict е пристапноста на колачето во барањата што потекнуваат од друга регистрирана доменска област што користи HTTP GET метод. Колачињата што користат Lax ќе бидат достапни во GET барање што потекнува од друга регистрирана доменска област, додека колачињата што користат Strict нема да бидат.

  • session.gc_maxlifetime=[изберете најмала можна]

    session.gc_maxlifetime е поставка за бришење на застарени ID на сесии. Потпирањето на оваа поставка е not препорачливо. Развивачите треба сами да го управуваат животниот век на сесиите со временски печат.

    GC (собирање отпад) на сесиите најдобро се врши со користење на session_gc()ќе треба да се прилагоди, и session_gc() функцијата треба да се извршува од менаџери на задачи. На пр. cron на системи слични на UNIX.

    GC по дифолт се изведува со веројатност. Оваа поставка не not гарантира дека застарена сесија ќе биде избришана. Иако развивачите не можат да се потпрат на оваа поставка, се препорачува да се специфицира на најмала можна вредност. Прилагодување на session.gc_probability and session.gc_divisor за да се избришат застарените сесии со соодветна фреквенција. Ако е потребна функција за автоматско најавување, развивачите мора да имплементираат своја безбедна функција за автоматско најавување, видете погоре за повеќе информации. Никогаш не користете долготрајно ID на сесија за оваа функција.

    Забелешка:

    Некои модули за ракување со зачувување на сесии не ја користат оваа поставка за истекување базирано на веројатност. На пр. memcached, memcache. Погледнете ја документацијата за ракување со зачувување на сесии за детали.

  • session.use_trans_sid=Исклучено

    Употребата на транспарентно управување со ID на сесија не е забранета. Развивачите може да го користат кога е потребно. Сепак, оневозможувањето на транспарентното управување со ID на сесија ја подобрува општата безбедност на ID на сесија со елиминирање на можноста за инјектирање и/или истекување на ID на сесија.

    Забелешка:

    ID на сесијата може да истече од обележани URL-и, URL-и испратени по е-пошта, зачуван HTML извор, итн.

  • session.trans_sid_tags=[ограничени ознаки]

    (PHP 7.1.0 >=) Развивачите не треба да препишуваат непотребни HTML ознаки. Стандардната вредност треба да биде доволна за повеќето употреби. Постарите верзии на PHP користат url_rewriter.tags instead.

  • session.trans_sid_hosts=[ограничени домаќини]

    (PHP 7.1.0 >=) Оваа INI дефинира домаќини на белата листа што дозволуваат препишување на trans sid. Никогаш не додавајте недоверливи домаќини. Модулот за сесии дозволува само $_SERVER['HTTP_HOST'] кога оваа поставка е празна.

  • session.referer_check=[URL на потекло]

    Кога session.use_trans_sid е овозможено. Го намалува ризикот од инјектирање на ID на сесијата. Ако веб-страницата е http://example.com/, поставете http://example.com/ на него. Имајте предвид дека со HTTPS прелистувачите нема да ја испратат референтната заглавие. Прелистувачите може да не ја испратат референтната заглавие според конфигурацијата. Затоа, оваа поставка не е сигурна мерка за безбедност. Се препорачува употреба на оваа поставка.

  • session.cache_limiter=nocache

    Осигурајте дека HTTP содржината не е кеширана за автентицирани сесии. Дозволете кеширање само кога содржината не е приватна. Во спротивно, содржината може да биде откриена. "private" може да се користи ако HTTP содржината не вклучува чувствителни податоци за безбедност. Имајте предвид дека "private" може да пренесе приватни податоци кеширани од споделени клиенти. "public" мора да се користи само кога HTTP содржината воопшто не содржи приватни податоци.

  • session.hash_function="sha256"

    (PHP 7.1.0 <) Посилна функција за хеширање ќе генерира посилен ID на сесијата. Иако судир на хеш е малку веројатен дури и со MD5 алгоритмот за хеширање, програмерите треба да користат SHA-2 или посилен алгоритм за хеширање како sha384 и sha512. Програмерите мора да осигурат дека внесуваат доволно долг entropy за користената функција за хеширање.

  • session.save_path=[директориум што не може да се чита од светот]

    Ако ова е поставено на директориум што може да се чита од сите, како што е /tmp (стандардно), други корисници на серверот може да ги украдат сесиите со добивање на списокот со датотеки во таа директорија.

Белешки од корисници 1 белешка

polygon dot co dot in на gmail точка com
пред 2 години
It is important to realize that session.cookie_lifetime=0 will delete the cookie when the browser closes but nowadays browers tend to never close even after the last windows or tab was closed. 

For startup speed purposes and to retrieve push traffic browser drop to the background hence the cookie stays put.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.