php: шолғыш жабылғанымен, логинді сақтаңыз

браузер жабық болса да, жүйеге кірген логин жүйесін қалай жасауға болады (егер пайдаланушы жүйеден шықпаса)?

$ _ SESSION пайдалану кезінде браузер жабылған кезде кетіп қалды. Сонымен, $ _ COOKIE қолдануға болады, бірақ ол қауіпсізден кейін сеансқа ұқсас.

Yahoo, facebook, twitter немесе кез-келген сайт өздерінің кіру жүйесін қалай жасайды, сондықтан пайдаланушы браузерді жабғанда, ол жүйеге кіре ме? IP пайдалану? $ _SESSION? $ _COOKIE? немесе не?

Рақмет сізге

0

8 жауаптар

Сессия сookie файлын идентификациялық сеанстарға пайдаланбаңыз. Ол үшін session_set_cookie_params() печеньенің ұзағырақ өмір сүруін қамтамасыз ету үшін.

Сеанстардың ұзақ уақытқа күту уақыты болғанына көз жеткізіңіз. Мұны < код> session.gc-maxlifetime теңшелім параметрі.

2
қосылды
Сервердегі сессиялар әдетте «cookie» арқылы анықталады. Cookie файлдары екі дәммен келеді: 1) сеанстың cookie файлдары (браузер ашық болған кезде жарамды) 2) тұрақты cookie файлдары (cookie файлын орнатқан кезде жарамды). Сеанстарды анықтау үшін тұрақты cookie файлдарын пайдаланыңыз.
қосылды автор Oswald, көзі
сеанстық cookie қолданбасын пайдаланбау керек пе? қалай істеу керек? php-да өте жаңа. және ұзақ уақыт кетеді?
қосылды автор Bagus Javas, көзі
Сізге өте рахмет @Oswald, кейіннен «тұрақты cookies» туралы іздеймін
қосылды автор Bagus Javas, көзі

You can set the lifetime of a session cookie. By default it's on browser close. You can do this in php.ini or look at http://php.net/manual/en/function.session-set-cookie-params.php

2
қосылды
ешқандай сеанс, тек ұзақ өмір сүрген куки, сіз кукиді пайдаланушы сеанс кілтін сақтау үшін пайдаланады
қосылды автор Matt Clark, көзі
Сеанстың cookie-файлдары браузер жабылған кезде әрқашан бітеді. Бұл сеанстың cookie файлдарының анықтамасы.
қосылды автор Oswald, көзі
Қызықты, сосын, сетчуки және ұзақ өмір сүру сеансының комбинациясы болуы мүмкін.
қосылды автор Faisal, көзі
рахмет, сіздің сілтемеге бару
қосылды автор Bagus Javas, көзі

You can set the lifetime of a session cookie. By default it's on browser close. You can do this in php.ini or look at http://php.net/manual/en/function.session-set-cookie-params.php

2
қосылды
ешқандай сеанс, тек ұзақ өмір сүрген куки, сіз кукиді пайдаланушы сеанс кілтін сақтау үшін пайдаланады
қосылды автор Matt Clark, көзі
Сеанстың cookie-файлдары браузер жабылған кезде әрқашан бітеді. Бұл сеанстың cookie файлдарының анықтамасы.
қосылды автор Oswald, көзі
Қызықты, сосын, сетчуки және ұзақ өмір сүру сеансының комбинациясы болуы мүмкін.
қосылды автор Faisal, көзі
рахмет, сіздің сілтемеге бару
қосылды автор Bagus Javas, көзі

StackOverflow және Youtube сияқты көрінеді Жергілікті сақтау .

Cookie файлдарынан айырмашылығы, жергілікті қоймада жарамдылық мерзімі болмайды, бірақ пайдаланушы серверге кіретін немесе жасайтын нәрсені өзгерткен кезде, деректерді серверде жергілікті жадқа қолмен жіберу керек (XHR немесе басқа біреу арқылы) қарым-қатынас тәсілі). Пайдаланушы жүйеден шыққан кезде, login.localStorage.removeItem() файлына кіру деректерін сақтайтын кілтті шақырыңыз.

2
қосылды
Сіздің сілтемеге өтіңіз
қосылды автор Bagus Javas, көзі

StackOverflow және Youtube сияқты көрінеді Жергілікті сақтау .

Cookie файлдарынан айырмашылығы, жергілікті қоймада жарамдылық мерзімі болмайды, бірақ пайдаланушы серверге кіретін немесе жасайтын нәрсені өзгерткен кезде, деректерді серверде жергілікті жадқа қолмен жіберу керек (XHR немесе басқа біреу арқылы) қарым-қатынас тәсілі). Пайдаланушы жүйеден шыққан кезде, login.localStorage.removeItem() файлына кіру деректерін сақтайтын кілтті шақырыңыз.

2
қосылды
Сіздің сілтемеге өтіңіз
қосылды автор Bagus Javas, көзі

Пайдаланушы кірген кезде cookie файлында қажетті ақпаратты шифрлау. Сіздің сайтқа кіргенде ақпаратты алу үшін cookie файлын шифрлаңыз.

Басқа қауіпсіздік шарасы cookie файлын тексеру үшін дерекқорды пайдалану болып табылады. Бұл кейбір қауіпсіздікке көмектеседі. Мен қауіпсіздік сарапшысы емеспін және басқа да қауіпсіздік шаралары туралы ойлануыңыз мүмкін, бірақ бұл сізге бастауға көмектесуі керек.

2
қосылды
Шифрланған парольді cookie файлында сақтамаңыз. Куки қоймасында дерекқорға қарсы болуы мүмкін сеанс туралы ақпарат және екі матчтың жарамды сеансы болса. Содан кейін пайдаланушыға олармен пікіріңізді көрсетіңіз. Бұл бір жол.
қосылды автор Nick, көзі
@Nick түсініктемеңізге үлкен рахмет.
қосылды автор Bagus Javas, көзі
mcrypt файлын құпия сөз үшін қолданамын .. сондықтан шифрланған файлды cookie файлында сақтауым керек пе? Куки шифрланған сипатты жақсы ұстай ма?
қосылды автор Bagus Javas, көзі

Пайдаланушы кірген кезде cookie файлында қажетті ақпаратты шифрлау. Сіздің сайтқа кіргенде ақпаратты алу үшін cookie файлын шифрлаңыз.

Басқа қауіпсіздік шарасы cookie файлын тексеру үшін дерекқорды пайдалану болып табылады. Бұл кейбір қауіпсіздікке көмектеседі. Мен қауіпсіздік сарапшысы емеспін және басқа да қауіпсіздік шаралары туралы ойлануыңыз мүмкін, бірақ бұл сізге бастауға көмектесуі керек.

2
қосылды
Шифрланған парольді cookie файлында сақтамаңыз. Куки қоймасында дерекқорға қарсы болуы мүмкін сеанс туралы ақпарат және екі матчтың жарамды сеансы болса. Содан кейін пайдаланушыға олармен пікіріңізді көрсетіңіз. Бұл бір жол.
қосылды автор Nick, көзі
@Nick түсініктемеңізге үлкен рахмет.
қосылды автор Bagus Javas, көзі
mcrypt файлын құпия сөз үшін қолданамын .. сондықтан шифрланған файлды cookie файлында сақтауым керек пе? Куки шифрланған сипатты жақсы ұстай ма?
қосылды автор Bagus Javas, көзі

Oswald мәлімдегендей, браузер жабылғаннан кейін, $ _ SESSION пайдаланбаңыз.

Сеанс айнымалы мәндері cookie файлдары ретінде сақталады, сондықтан өзіңіздің жасауыңыз less secure емес.

Өзіңіздің COOKIES құрған кезде, cookie-файлдың мерзімі аяқталмағанын және пайдаланушы жүйеге кіргенін тоқтату үшін, жарамдылық мерзімін бір жылдай етіп орнатуға болады.

Өндірістік сайттардың басым көпшілігі сеансты сақтауға арналған cookie файлдарын пайдаланады, сеанстың кілттері жеткілікті түрде кездейсоқ екендігіне көз жеткізіңіз, бұл басқа клиенттің болжауы мүмкін емес.

ӨҢДЕУ

setcookie пайдалану әдісі туралы осы сілтемені қараңыз.

setcookie("session_key", "somerandomstringrepresentingasessionkey", time() + 60*60*24*120);

Төменде session_key атымен веб-сайтыңыз үшін сеанс кілті орнатылады, бұл деректерді орындау уақытында қалай алсаңыз болады:

$session = $_COOKIE['session_key'];

Келесі бөлік - бұл сіздің құныңыз сақталатын жерде, бұл деректер базасында жиналатын және пайдаланушыға сәйкес келетін сеанс кілті болады, енді $ session мәні қандай болады.

Келесі бөлік - ол аяқталғанға дейін уақыт, яғни 60 * 60 * 24 * 120 дегенді білдіреді, яғни ағымдағы уақыт, 60 секунд, 60 минут, 24 сағат, 120 күн . Бұл дегеніміз, осы нақты уақыт сәттен бастап 120 күнде, браузер бұған дейін жабық болса да, белгілі бір cookie файлының мерзімі аяқталады.

1
қосылды
@BagusJavas, менің түзетуімді қараңыз.
қосылды автор Matt Clark, көзі
Мәселе емес, көмектесті деп үміттенемін. Бақытты кодтау!
қосылды автор Matt Clark, көзі
Сеансты анықтау үшін қолданылатын кукидің қызмет ету мерзіміне байланысты.
қосылды автор Oswald, көзі
Браузер жабылған кезде $ _ SESSION аяқталмайды. Бұл PHP сеансы қоқыс жинағышымен жойылғанда аяқталады.
қосылды автор Oswald, көзі
@MattClark, бұл шешімді көргісі келеді. Адамға рахмет
қосылды автор Bagus Javas, көзі
@Oswald, бірақ браузер дұрыс жабылған кезде қол жетімді емеспін бе?
қосылды автор Bagus Javas, көзі