доступ до php cookie з того ж домену, який не працює належним чином

Я не чудовий на PHP, і все, що я зараз знаю, я просто навчав себе, переглядаючи Інтернет.

В даний час я намагаюся працювати з файлами cookie на моїй сторінці, щоб встановити постійний вхід на один день.

В основному я отримав настільки, наскільки вдалося встановити файл cookie з значенням імені користувача сеансу. Це значення встановлюється, коли користувач входить до системи. Таким чином, користувач вводить облікові дані, PHP перевіряє базу даних mysql, якщо вона успішна, тоді ім'я користувача встановлюється як змінна сесії, і тоді вона встановлюється як файл cookie.

Це працює, як якщо б я запустив цей PHP і негайно відлучився з файлом cookie, з'явиться ім'я користувача.

Це все зроблено за формою входу, яка виховується в tinybox (подібно до лайтбоксу та інших таких спливаючих вікон). Здається, що файли cookie та echo працюють правильно.

Однак коли вхід в систему успішний, він оновлює батьківську сторінку (кореневу сторінку мого сайту), і все здається добре. Однак, якщо я намагатимусь повторювати файли cookie з індексної сторінки, я не можу отримати доступ до нього.

Я знаю, що файли cookie мають обмеження для безпеки, але, як моя сторінка входу та моя домашня сторінка знаходяться в одному домені, я думав, що це буде працювати.

Чи це, можливо, що я роблю неправильно, чи це обмеження файлів cookie? Чи буде це працювати, якщо я встановлюю файли cookie з самої індексної сторінки, а не з тінички?

Якщо хтось хоче отримати приклади коду, який я використовую, це може бути надано.

Дуже дякую Ред

0
Спроба викачати власну процедуру автозапуску cookie - це ідея поганого (особливо, як ви кажете Не чудово в PHP ) - Я не намагаюсь вас перешкоджати вивченню того, як щоб це зробити, але навчіться за прикладом , а не почати з нуля. Там буде багато, багато питань безпеки, які я 99.99% впевнений, що ви не подумали.
додано Автор DaveRandom, джерело
там є багато попередньо побудованих процедур там (див. вище посилання для гарного початку), і я б дійсно запропонував вам почати, дивлячись на них, якщо це те, що ви хочете зробити (продовження в наступному коментарі)
додано Автор DaveRandom, джерело
... але з того, що ви називаєте ціллю цього вправу, я також запропонував вам розглянути питання про використання сесій , а не встановити власні файли cookie. Якщо ви це зробите, а) PHP обробляє всі обробки файлів cookie для вас, і б) вам потрібен лише один файл cookie, який дозволяє вам зберігати стільки даних, скільки вам подобається, про сеанс (в межах причини) - щоб ви могли зберігати ваш масив ліцензій в сесії, і не потрібно кожного разу запитувати цю базу даних.
додано Автор DaveRandom, джерело
Однак вам доведеться змінювати термін служби cookie сеансу, оскільки за замовчуванням це (непересічно) сеансові файли cookie, які знищуються, коли користувач закриває браузер. Проте це легко подолати, використовуючи перший аргумент < код> session_set_cookie_params()
додано Автор DaveRandom, джерело
Теоретично так, хоча я щойно переглянувши це, я зараз пам'ятаю, що точна поведінка PHP-сесії не обов'язково, що ви очікуєте - існує багато факторів, які слід враховувати, і він починає ставати дуже складним і не дуже портативним, щоб отримати його робота, як ви опишете. Якщо ви дійсно не турбуєтеся про безпеку з цим, ви, мабуть, повинні дотримуватися свого оригінального підходу (вибачте за інформацією bum)
додано Автор DaveRandom, джерело
Отже, поверніться до початкового питання - чи встановив параметр $ path для файлу cookie? Я підозрюю, що це може бути причиною проблеми, якщо ви це зробили. Будь ласка, опишіть розташування сценарію, що відкривається у вікні, розташування сценарію, що його форму надіслано, розташування сценарію на вашій головній сторінці та рядок коду, який ви використовували для встановлення файлу cookie, і я Я побачу, чи зможу я розібратись, що відбувається.
додано Автор DaveRandom, джерело
додано Автор DaveRandom, джерело
Я повинен визнати, що більшість інших речей, які я навчився, використовували приклади коду з інших, тому не знаю, чому я не шукав приклади файлів cookie. Я взагалі намагаюся починати з scartach, щоб почати, щоб я міг отримати досить гарне розуміння основ, але в цьому випадку це поза мені. Безпека не є величезною проблемою, оскільки це стосується лише внутрішньої внутрішньої мережі, і єдиною причиною, через яку я роблю логіни, є переваги, а не безпека. Ви хотіли б запропонувати мені просто спробувати знайти деякі попередньо встановлені процедури, щоб принаймні вивчити і працювати? Дякую за вашу пораду!
додано Автор Eds, джерело
Я використовую сесії на даний момент, щоб контролювати налаштування користувача на основі бази даних, але дивився на файли cookie для постійного входу, оскільки, як ви сказали, сеанси доступні лише для цього сеансу. Я не зрозумів, що ти міг змінити час життя сеансу. Отже, встановивши параметри сеансів, я міг би увійти в систему, повернутись на наступний день після закриття свого браузера і все ж увійти в систему? Велике спасибі за всю вашу допомогу!
додано Автор Eds, джерело
if ($ rem == 'yes') {$ cookievalue = $ _SESSION ['SESS_USERNAME']; setcookie ("newcookie", $ cookievalue, time() + 60); echo $ _COOKIE ["newcookie"];
додано Автор Eds, джерело
трохи важко читати в коментарях, але в основному змінна rem - це прапорець у моїй формі входу, щоб сказати запам'ятати логін, тоді змінна $ cookie_value - це ім'я користувача вашого сеансу. тому, коли ви встановлюєте файли cookie, я встановив його з ім'ям newcookie, із значенням cookie і терміном дії 60 секунд. якщо я потім віддаю печиво відразу, це добре, якщо я скопіюю лінію exat для кодування, щоб відлучити її, на батьківську сторінку, вона не працює. батько - index.php, у домені intranet . Дякую
додано Автор Eds, джерело

2 Відповіді

Це допомогло Дейвреанду на цьому.

Виявляється, я повинен був додати "/" як кореневий шлях для файлу cookie, щоб він був доступний для батьківських сторінок.

0
додано

Який навігатор ви використовуєте? Chrome не може працювати за замовчуванням за допомогою локальних файлів cookie. Ви можете ввімкнути за допомогою командного рядка --enable-file-cookies

http://code.google.com/p/chromium/issues/detail ? id = 3014

0
додано
Я розробляю та тестував, використовуючи IE9, але більшість речей, здається, працюють, як очікувалося, в Chrome, Firefox і Safari.
додано Автор Eds, джерело
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php

ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram