Всі записи автора Oleksiy

Список підроблених email-адрес + генератор

В рамках запису, присвяченого можливості вилучення посилань і поштових адрес потрібно було зробити список підроблених email-адрес, який дозволив не тільки згенерувати підроблені адреси, але і зробити це в готовому для використання в html-коді вигляді. Власне, сам код генератора на Python доступний нижче (раптом кому знадобиться) (а генератор на PHP – у самому низу сторінки 😉) Читати далі Список підроблених email-адрес + генератор

PHP – робота з cookies

Привіт всім! Сьогодні – невеликий пост, присвячений темі: PHP – робота з cookies.

Упевнений, ви знаєте — що таке ці cookies. Про всяк випадок — це невеликий код, який використовується для:

  • автентифікації користувача
  • зберігання персональних переваг та налаштувань користувача
  • відстеження стану сеансу доступу користувача
  • відомості статистики про користувачів

Формуються cookie на сервері, а зберігаються на комп’ютері користувача.
Створювати ці куки (cookies) в PHP можна наступним чином:

setcookie(cookie_name, value_cookie, time() + 3600);

де:
– cookie_name – ім’я кукі
– value_cookie – значення кукі
– time() – час життя кукі в секундах, після закінчення якого вона автоматично вийде

АЛЕ! Наявність терміну життя кукі не говорить про те, що його не можна видалити. Видаляється вона просто:

setcookie(cookie_name, value_cookie, time() - 3600);

тобто – код для видалення абсолютно схожий на код для створення cookies, за однією різницею — ми ставимо не плюс, а мінус у часі життя кукі. Як бачите – все просто!
Частка прикладу розберемо код практично. Я тут створив дві сторінки: https://lavrynenko.com/php_cookie/index_cookie.php – (відповідає за значення куки з ім’ям cookie_name (так, я оригінальний ) і відображення цієї самої куки) і https://lavrynenko. com/php_cookie/add_cookie.php – яка, власне, і створює цю саму куку.

Вихідний код сторінок нижче:
index_cookie.php

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Куки-текст</title>
</head>
<body>
<form action="add_cookie.php" method="post">
<input type="text" name="value_cookie" placeholder="Введите значение куки" /><br />
<input type="submit" name="add_cookie" value="Добавить куку">
</form>
<?php
if (isset($_COOKIE['cookie_name'])) {
echo $_COOKIE['cookie_name'];
} else {
echo "Кука не установлена";
}
?>
</body>
</html>

Розбираємо код докладніше:

<form action="add_cookie.php" method="post">

створюємо форму, яка оброблятиметься кодом, розташованим у файлі з ім’ям add_cookie.php (я розповідав про це докладніше тут.)

 <input type="text" name="value_cookie" placeholder="Введите значение куки" /><br />
<input type="submit" name="add_cookie" value="Добавить куку">

У нас є поле, в яке ми вводимо бажане значення куки, і кнопка, на кліку на яку ми і потрапляємо в файл add_cookie.php – який і зробить всю магію.

<?php
if (isset($_COOKIE['cookie_name'])) {
echo $_COOKIE['cookie_name'];
} else {
echo "Кука не установлена";
}
?>

Цей код відповідає за відображення збереженої на комп’ютері cookie — якщо у нас немає cookies з потрібним ім’ям — виводимо повідомлення про те, що кука не встановлена. Інакше виводимо значення куки.

З першим файлом розібралися. Тепер дивимося код файлу, який відповідає за створення cookie:

<?php
$value_cookie = $_POST['value_cookie'];
setcookie("cookie_name", $value_cookie, time() + 3600, '/');
header("Location: index_cookie.php");
exit();
?>

тут взагалі все просто:
– у першому рядку отримуємо значення куки, яке ми задали на першій сторінці
– другий рядок відповідає за створення cookie: ім’я cookie: cookie_name, її значення – змінна, яку ми створили в першому рядку, час життя cookie – 3600 секунд.
– третій рядок — переадресація на першу сторінку (нам же важливо побачити результат відпрацювання файлу).
Сподіваюся, вам стало зрозуміліше, як організована робота з cookies у PHP. Як завжди, у разі виникнення запитань пишіть на пошту або в Telegram. Спасибі!