Cookie in javascript and php

Как обработать JS cookies в PHP?

2. Использовал CURL, как гугл бот.
https://github.com/izniburak/google-bot-curl/blob/.
Но получаю такой результат, точнее ничего не получаю. Через примерно 40 секунд
request time out
3. Использовал CURL, отправлял юзер агента Хрома.
Получаю такой результат, отформатировал код, чтобы было удобнее:

         

4. Использовал phantomJs. Запускал через консоль, не через PHP.
Код
Ссылка на пастебин, из за ограничении на количество символов
Код JS

Ответ в обоих test1.html test2.html, такой же как при запросе Curl, только без body.
pastebin.com/qAfGBDeL

Мысли вслух. Этот скрипт устанавливает куки через JS. Затем проверяет его наличие, если куки нет, то перезагружает страницу. Так как куки сохраняются в браузере, то при следующем посещении куки уже есть.
Проходит проверку, есть ли куки. Куки есть и страницу перезагружать не надо, надо вывести контент
Как получить нормальную страницу с контентом?

Источник

How to Create, Read, Update and Delete Cookies with PHP or Javascript

You are currently viewing How to Create, Read, Update and Delete Cookies with PHP or Javascript

http is a stateless protocol. A way to remember information from page to page is to use cookies. According to Wikipedia:

A cookie, also known as an HTTP cookie, web cookie, or browser cookie, is a small piece of data sent from a website and stored in a user’s web browser while the user is browsing that website. Every time the user loads the website, the browser sends the cookie back to the server to notify the website of the user’s previous activity. Cookies were designed to be a reliable mechanism for websites to remember stateful information (such as items in a shopping cart) or to record the user’s browsing activity (including clicking particular buttons, logging in, or recording which pages were visited by the user as far back as months or years ago).

In this tutorial you will find information about creating and managing cookies with PHP or Javascript.

Create cookies with PHP

(REMARK: for a visual way to display the following actions, see below “Manage cookies in various web browsers”).

Create

Use setcookie to create a cookie with PHP. This cookie will expire after 30 days. Using “/” , cookie is available in all website (otherwise, select the directory you prefer).

$cookie_name = 'pontikis_net_php_cookie'; $cookie_value = 'test_cookie_set_with_php'; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), '/'); // 86400 = 1 day

Read

Use $_COOKIE to retrieve a cookie with PHP. Once the cookies have been set, they can be accessed on the next page load.

$cookie_name = ‘pontikis_net_php_cookie’; if(!isset($_COOKIE[$cookie_name])) < print 'Cookie with name "' . $cookie_name . '" does not exist. '; >else

Читайте также:  Функция обратная split питон

Update

Actually, there is not a way to update a cookie. Just set (again) this cookie using setcookie.

$cookie_name = 'pontikis_net_php_cookie'; $cookie_value = 'test_cookie_updated_with_php'; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), '/'); // 86400 = 1 day

Delete

Actually, there is not a way to directly delete a cookie. Just use setcookie with expiration date in the past, to trigger the removal mechanism in your browser.

$cookie_name = 'pontikis_net_php_cookie'; unset($_COOKIE[$cookie_name]); // empty value and expiration one hour before $res = setcookie($cookie_name, '', time() - 3600);

Create cookies with Javascript

(REMARK: for a visual way to display the following actions, see below “Manage cookies in various web browsers”).

Create

Using document.cookie with following format:

document.cookie="name_here=value_here; expires=date_in_UTC_here; path=path_here";

You many use a function like this one:

/** * Create cookie with javascript * * @param name cookie name * @param value cookie value * @param days2expire * @param path */ function create_cookie(name, value, days2expire, path)

So, to create a cookie which will expire after 30 days:

var cookie_name = 'pontikis_net_js_cookie'; var cookie_value = 'test_cookie_created_with_javascript'; create_cookie(cookie_name, cookie_value, 30, "/");

Read

document.cookie will return all cookies in one string as following: cookie1=value; cookie2=value; cookie3=value; . So to get the value of a cookie you have to parse this string.

You many use a function like this one:

/** * Retrieve cookie with javascript * * @param name cookie name */ function retrieve_cookie(name) < var cookie_value = "", current_cookie = "", name_expr = name + "=", all_cookies = document.cookie.split(';'), n = all_cookies.length; for(var i = 0; i < n; i++) < current_cookie = all_cookies[i].trim(); if(current_cookie.indexOf(name_expr) == 0) < cookie_value = current_cookie.substring(name_expr.length, current_cookie.length); break; >> return cookie_value; >

So, to retrieve a cookie with name “pontikis_net_js_cookie”:

var cookie_name = ‘pontikis_net_js_cookie’; var res = retrieve_cookie(cookie_name); if(res) < alert('Cookie with name "' + cookie_name + '" value is ' + '"' res + '"'); >else

Update

Just, recreate cookie with new values:

var cookie_name = 'pontikis_net_js_cookie'; var cookie_name = 'test_cookie_updated_with_javascript'; create_cookie(cookie_name, cookie_value, 60, "/");

Delete

Just give an expiration date in the past. Cookie value not needed.

document.cookie = "pontikis_net_js_cookie=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";

You many use a function like this one:

/** * Delete cookie with javascript * * @param name cookie name */ function delete_cookie(name) < document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; >
var cookie_name = 'pontikis_net_js_cookie'; delete_cookie(cookie_name);

Create cookies with jQuery

Manage cookies in various web browsers

Google Chrome

Go to “Chrome Developer Tools” (Menu → Tools → Developer Tools or press CTRL+SHIFT+I). Go to “Resources” tab and open “Cookies” section

Mozilla Firefox

Go to “Firefox Preferences” (Menu → Tools → Options on Windows or Menu → Edit → Preferences on Linux). Go to “Privacy” tab and press “Show Cookies”

Another way is to install a Firefox plugin. A nice plugin is “View Cookies”. Get it here:

Go to “Page Info” (Menu → Tools → Page info) or just press “CTRL+I”. A new tab (“Cookies”) is present:

Internet Explorer

It is less convenient to view cookies in Microsoft Internet Explorer

Go to “Internet Options” (Menu → Internet Options). Go to first tab “General”. Click “Settings” and then “View files”

Scroll down this list until you see the files labeled as cookies

There is also an utility available (IECookiesView) More details here.

Enable or disable cookies

Every user can disable browser cookies. But, keep in mind that most websites will not work properly without cookies.

Instructions for major browsers are available here:

Читайте также:  Opencv all functions python

Check if cookies are enabled

Check if cookies are enabled with PHP

Try to create a test cookie using setcookie and then count $_COOKIE array:

setcookie(‘check_cookies_enabled’, ‘test’, time() + 3600, ‘/’); if(count($_COOKIE) > 0) < print 'Cookies are enabled!'; >else

Check if cookies are enabled with Javascript

You can rely to navigator.cookieEnabled, as it supported from all major browsers:

if(navigator.cookieEnabled) < alert('Cookies are enabled!'); >else

Entrepreneur | Full-stack developer | Founder of MediSign Ltd. I have over 15 years of professional experience designing and developing web applications. I am also very experienced in managing (web) projects.

Источник

HTTP является протоколом прикладного уровня, который не сохраняет своего состояния, а это значит, что каждый запрос к веб-сайту является автономным, и поэтому данные здесь не сохраняются.

Но эта простота также является одной из причин того, почему данный протокол так широко использовался при веб-разработках в первые годы существования интернета.

Тем не менее, существует способ сохранения информации между запросами в форме « куков ». Таким образом, вы можете получить эффективное управление сессиями и ввести постоянную структуру хранения данных.

Существует два способа работы с cookie : со стороны сервера (PHP, ASP и т.д.), и на стороне пользователя (JavaScript). В данном микро-руководстве мы собираемся рассмотреть, как файлы cookie создаются и читаются в обоих случаях, и на PHP, и на JavaScript.

Для создания cookie в PHP, необходимо использовать функцию setcookie . Она принимает целый ряд параметров (все, за исключением первого, являются необязательными и могут быть пропущены):

setcookie( 'pageVisits', // Имя cookie, обязательно $visited, // Значение cookie time()+7*24*60*60, // Срок действия, в данном случае - на неделю '/', // Путь к папке, в которой cookie будет доступен 'demo.tutorialzine.com' // Домен, к которому cookie будут привязаны );

Если значение равно 0, а время истечет (что является режимом по умолчанию), тогда файл cookie при перезапуске браузера будет потерян.

Параметр “/” указывает на то, что он будет доступен для всех каталогов домена (дополнительно, файл cookie можно привязать к одному из каталогов – например, /admin/ — в качестве параметра).

Имеется два дополнительных параметра не представленные здесь, которые можно передать функции. Они задаются с помощью логического значения.

Первый указывает на то, что cookie будет передаваться только через безопасное HTTPS-соединение, а второй, что файлы cookie не будут доступны через JavaScript (применяется в PHP 5.2).

Для большинства практических ситуаций, вам будут необходимы только первые четыре параметра, последние два используются крайне редко.

Способ чтения cookie при помощи PHP самый простой. Все cookie , которые были переданы в скрипт, доступны в суперглобальном массиве $_COOKIE . В нашем случае, для чтения cookie нам нужно написать следующий код:

$visits = (int)$_COOKIE['pageVisits']+1; echo "Вы посетили этот сайт: ".$visits." раз";

Это хороший пример, чтобы обратить внимание: cookie , которые установлены с помощью команды setcookie , доступны в массиве $_COOKIE при загрузке следующей страницы, о которой вы должны знать.

Чтобы удалить cookie , просто используйте команду setcookie и задайте ей прошедшее время, в качестве даты окончания срока действия.

setcookie( 'pageVisits', $visited, time()-7*24*60*60, // Срок истек неделю назад. Cookie будут удалены '/', 'demo.tutorialzine.com' );

Чтобы использовать cookie с помощью jQuery, вам понадобится специальный Cookie plugin .

Установка cookie при помощи плагина Cookie вполне понятна:

$(document).ready(function()< // Устанавливаем в cookie переменную kittens, которая будет утеряна после перезагрузки браузера: $.cookie("kittens","Seven Kittens"); // Устанавливаем demoCookie (как показано в демонстрации): $.cookie("demoCookie",text,); // "text" представляет собой переменную, закрепляющую строку для сохранения >);

Процесс чтения cookie тут еще проще. Необходимо лишь вызвать функцию $.cookie() с одним параметром имени cookie и значение cookie будет возвращено:

Читайте также:  Королевский питон морфа спайдер

Чтобы удалить cookie , снова воспользуйтесь функцией $.cookie() , но в качестве второго параметра используйте null :

И в завершение

В данном микро-руководстве мы рассмотрели установку и чтение файлов cookie . Это хороший повод для того, чтобы обратить внимание: вы не должны хранить конфиденциальную информацию, например логины и пароли в файлах cookie , так как они передаются как обычные заголовки на каждой странице загрузки, и их могут легко прочитать злоумышленники.

Однако, соблюдая соответствующие меры предосторожности, вы сможете благодаря этой простой технологии достичь многого в деле повышения интерактивности сайта.

Источник

Hi, I’m trying to read a cookie that I’ve set with php with javascript. The cookie is for storing the username when logging in to a site. If the cookie has been set I want the focus in the inline popup to target the password field so that the user doesn’t have to tab down from the username field of the login form. the php script stores the cookie perfectly:

if (isset($_POST['remember'])) < $expire = time()+60*60*24*30; setcookie("login_username", $username, $expire); echo $_COOKIE['login_username']; >else < if (isset($_COOKIE['login_username']) || isset($_COOKIE['password']))< $expire = time()-3600; setcookie("login_username", "", $expire); >>
if (targetfocus == 'login_username') < alert(readCookie('login_username')); if (readCookie('login_username') == 'username')< targetfocus = 'password'; >> $("#"+targetfocus).focus(); . function readCookie(name) < var cookieName = name + " my-4">javascript
    4Contributors7Replies5KViews5 YearsDiscussion SpanLatest PostLatest Post by Zsolt

Recommended Answers

Answered by Philip4350 in a post from

try this

if (targetfocus == 'login_username') < alert(readCookie('login_username')); if (readCookie('login_username') == 'username')< targetfocus = 'password'; >> $("#"+targetfocus).focus(); function readCookie(name) < alert('HAHA NIKLAS KAN INTE JAVASCRIPT'); var cookieName = name + " btn btn-primary" href="/programming/web-development/threads/260880/read-cookie-set-with-php-in-javascript#post1133405">Jump to Post
Answered by vsmash14 in a post from

you'll need to include jquery to use the above code.
it might be that php is setting the cookie path in a particular folder on your site, then the javascript is looking for a cookie with a different path.
So when you set your cookie or get your cookie you …

Jump to Post

All 7 Replies

try this

if (targetfocus == 'login_username') < alert(readCookie('login_username')); if (readCookie('login_username') == 'username')< targetfocus = 'password'; >> $("#"+targetfocus).focus(); function readCookie(name) < alert('HAHA NIKLAS KAN INTE JAVASCRIPT'); var cookieName = name + " btn-group" role="group" data-bs-toggle="tooltip" title="Votes">

you'll need to include jquery to use the above code.
it might be that php is setting the cookie path in a particular folder on your site, then the javascript is looking for a cookie with a different path.
So when you set your cookie or get your cookie you prolly wanna specify the path (probably as /) regardless of whether it's php or javascript.
You can debug and see what your cookie's paramaters are by setting the cookie in php and in your javascript have:

document.write(document.cookie);

Источник

Оцените статью