Как передать скрипту куку с другого компьютера?

Тема в разделе "Веб-разработка", создана пользователем Lyudmila, 19 май 2014.

↑ ↓
  1. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    Здравствуйте, всем!
    Если кто знает алгоритм решения задачи "Как передать скрипту куки с другого компьютера?",
    пропишите, пожалуйста, последовательность действий, то бишь - АЛГОРИТМ.
    Как правильно поставить задачу?
    Или, ссылочку, где это уже прописано, если можно!
    Если привязываться к языку программирования то лучше к PHP.
    Заранее благодарю.
     
    • Мне нравится Мне нравится x 3
  2. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.812
    Симпатии:
    432
    Пол:
    Мужской
    Репа:
    +966 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    Людмила, не очень понимаю вопрос, что нужно ?

    Если нужно просто работать с куками в пхп, то тут всё очень просто…

    Но рассмотрим в начале теорию:

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

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

    НЕОБХОДИМО ОБРАТИТЬ ТАКЖЕ ВНИМАНИЕ, ЧТО СУЩЕСТВУЮТ ТАК НАЗЫВАЕМЫЕ XSS-АТАКИ НА САЙТЫ, КОТОРЫЕ ПОЗВОЛЯЮТ КРАСТЬ КУКИ ПОЛЬЗОВАТЕЛЕЙ, ПУТЁМ ФОРМИРОВАНИЯ СПЕЦИАЛЬНОЙ ССЫЛКИ НА УЯЗВИМЫЙ САЙТ, СУЩЕСТВУЮТ ДАЖЕ ГОТОВЫЕ СПЕЦИАЛЬНЫЕ СКРИПТЫ, КОТОРЫЕ ПОЗВОЛЯЮТ ЭКСПЛУАТИРОВАТЬ ТАКИЕ УЯЗВИМОСТИ, Т.Е. ЗАЛИВАЕМ ЭКСПЛОИТ НА СВОЙ ХОСТИН, ДАЛЕЕ ФОРМИРУЕМ СПЕЦИАЛЬНУЮ ССЫЛКУ НА УЯЗВИМЫЙ САЙТ И ТЫРИМ КУКИ ! ;)

    Существует много способов защиты, самые простые – это привязывать сессию к айпишнику пользователей, фильтрация специальных символов на уровне сервера, на уровне скрипта, заголовок httponly и т.д.

    Теперь по теме:

    Итак расмотрим как генерируются куки
    Веб-браузер запрашивает URL, который соответствует сценарию PHP. В рамках этого сценария выполняется SetCookie-функция, которая встроена в PHP.

    На странице исполняется сценарий PHP и отправляется обратно в браузер, с HTTP Set-Cookie заголовком, который содержит имя (например, MyCookie) и значение.

    Когда он получает этот заголовок HTTP, браузер создает и сохраняет заданное значение, как Cookies с именем MyCookie.

    После получения запроса страницы с заголовком кукисов, PHP автоматически создает запись в массиве $_COOKIE с именем куки ($_COOKIE ['MyCookie']) и его значение.

    Другими словами, функция PHP SetCookie позволяет установить переменную, которая будет автоматически установлено на последующие запросы страницы с того же браузера. Прежде чем мы рассмотрим конкретный пример, давайте внимательно посмотрим на SetCookie функцию:
    Код:
    setcookie(name[, value[, expiryTime[, path[, domain[, secure[,httpOnly]]]]]])


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

    По умолчанию, Cookies хранятся в браузере, и следовательно, по-прежнему будет отправлено с запросами страниц до закрытия браузера пользователя.

    Если вы хотите куки сохранялсь после завершения текущего сеанса браузера, вы должны установить expiryTime параметр, чтобы указать количество секунд с 1 января 1970 г. до времени, в котором вы хотите чтобы куки были удалены автоматически.

    Текущее время в этом формате можно получить, используя функцию PHP time. Таким образом, у куки может быть срок действия которого истекает в течение одного часа, например, путем установки expiryTime time() + 3600.

    Рассмотрим два примера на практике:

    1)

    Код:
    // Срок действия куки истекает через год
    setcookie('mycookie''somevalue'time() + 3600 24 365);
    // Удаляем их
    setcookie('mycookie'''time() – 3600 24 365);
    2) Давайте теперь посмотрим на примере куки в использовании. Представьте, что вы хотите, чтобы отображалось специальное приветствие для людей которые впервые посетили ваш сайт. Вы можете использовать куки, чтобы подсчитать, сколько раз пользователь был на вашем сайте прежде, и отображать только сообщения, когда куки не был установлен.

    Вот код:

    Код:
    if (!isset($_COOKIE['visits']))
        {
        
    $_COOKIE['visits'] = 0;
        }
        
    $visits $_COOKIE['visits'] + 1;
        
    setcookie('visits'$visitstime() + 3600 24 365);
        include 
    'welcome.html.php';
    Этот код начинается с проверки, если $_COOKIE ['visites'] установлено. Если это не так, то значит, что visits куки еще предстоит установить в браузер пользователя. Чтобы справиться с этим, положим $_COOKIE ['visits'] = 0.Остальная часть нашего кода можно смело предположить, что $_COOKIE ['visits'] содержит число предыдущих визитов пользователя.

    Далее, чтобы отработать номер этого визита, мы берем $_COOKIE ['visits'] и добавляем значение 1. Эта переменная $visits, будет использованна нашим PHP шаблоном.

    Наконец, мы используем SetCookie чтобы установить посещение куки, чтобы отразить новое число посещений. Мы установили это куки которое истекает в течение одного года.

    При всей проделанной работе, наш контроллер включает в себя шаблоны PHP welcome.html.php:

    Код:
    <?php include_once $_SERVER['DOCUMENT_ROOT'] .
    '/includes/helpers.inc.php'?>
    <!DOCTYPE html>
    <html lang="en">
        <head>
        <meta charset="utf-8">
        <title>Установка кукисов</title>
    </head>
    <body>
        <p>
            <?php
            
    if ($visits 1)
            {
                echo 
    "вы посетли наш сайт $visits. раз";
            }
            else
            {
                
    // Первый визит
                
    echo 'Добро пожаловать на мой сайт!';
            }
            
    ?>
        </p>
    </body>
    </html>
     
    • Мне нравится Мне нравится x 3
  3. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    А-А-ААААГРОМ-М-М-НОЕ СПАСИБО!
    Да-да именно это! Спасибо!
    X-Shar, совершенно замечательный ответ после которого Йя-я-я немного стала заикаться, -поскольку мне все это теперь надо осознать!
     
    • Мне нравится Мне нравится x 1
  4. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    X-Shar сказал: НЕОБХОДИМО ОБРАТИТЬ ТАКЖЕ ВНИМАНИЕ, ЧТО СУЩЕСТВУЮТ ТАК НАЗЫВАЕМЫЕ XSS-АТАКИ НА САЙТЫ, КОТОРЫЕ ПОЗВОЛЯЮТ КРАСТЬ КУКИ ПОЛЬЗОВАТЕЛЕЙ, ПУТЁМ ФОРМИРОВАНИЯ СПЕЦИАЛЬНОЙ ССЫЛКИ НА УЯЗВИМЫЙ САЙТ...
    Вот мне все это надо в целях организации защиты сайта.
    На данном этапе, главное понять, как это работает, и как пробиваются сайты из-вне.
    Мне надо защититься от взлома.
     
  5. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    При создании системы авторизации/регистрации необходимо снизить вероятность подмены данных и получения авторизированного доступа к разрабатываемому мною сайта.
    Где-то так... Но я пока в этом вопросе нулевая...
    Пока так. Мой плот, хоть и потихонечку, но строится.
    Спасибо огромное!
     
  6. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    Вот еще тоже момент, который напрямую относится к этому вопросу: подмена данных может происходить путем посылки данных скрипту через заголовки посредством сокетов и header() . Но для меня это пока темный лес. Но... и это тоже надо будет как-то осознать.
     
  7. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.812
    Симпатии:
    432
    Пол:
    Мужской
    Репа:
    +966 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    А вообще защита от XSS & SQL injection может строится по разному, можно на уровне сервера, можно на уровне скрипта, но лучше комплексно, например так:
    Что-бы не разводить писанину, вот ссылка:http://forum.xeksec.com/f11/t5396/?attempt=1

    А вообще в сети много инфы, запросы: "Защита от XSS", "Защита от sql инъекций" !

    Про куки тоже запрос:"Работа с cookies в php".
     
    • Мне нравится Мне нравится x 1
  8. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.812
    Симпатии:
    432
    Пол:
    Мужской
    Репа:
    +966 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    • Мне нравится Мне нравится x 1
  9. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
    Спасибо!
     
  10. Lyudmila Уважаемый пользователь
    Lyudmila
    Ответить в чате

    Форумчанин

    Регистрация:
    12.03.2014
    Сообщения:
    261
    Симпатии:
    446
    Пол:
    Женский
    Репа:
    +448 / 1 / -0
Похожие темы:
  1. BioNIX
    Ответов:
    25
    Просмотров:
    4.946
Загрузка...

Поделиться этой страницей