|
|
|
| Здравствуйте, друзья.
Решил я защитить cookie, но когда я ставлю какой-нибудь параметр для защиты, то cookie просто навсево не записывается. Выглядит это так:
setcookie("username", $cookie_name, time()+600, /films/index.php, 128.0.0.220, 1);
|
А с кодировкой отдельный разговор, начнем с того, что РНР ругается на строку
$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB), MCRYPT_RAND);
|
| |
|
|
|
|
|
|
|
для: Agronom
(06.11.2005 в 15:37)
| | Я считаю, что защищать куки шифрованием бесполезно... Тот, кто сумеет украсть чужие куки сможет и расшифровать любой шифр... Все системы кодирования в PHP профессионал взломает за очень короткий промежуток времени. Единственная кодировка, которую дор сих пор не смогли сломать - MD5. Но она не имеет обратной расшифровки, т.е. расшифровать её нельзя ничем. | |
|
|
|
|
|
|
|
для: DDK
(06.11.2005 в 15:51)
| | Конечно, что простой юзер украсть куки не сможет.
Тогда еще вопрос - как можно украсть куки? | |
|
|
|
|
|
|
|
для: DDK
(06.11.2005 в 15:51)
| | Ошибаетесь, подобрали коллизию которая позволяет уменьшить время перебора MD5 в несколько раз, строка в 8 символов расшифровывается за несколько часов...Более надежным является SHA1. | |
|
|
|
|
|
|
|
для: isset
(06.11.2005 в 16:26)
| | >Я считаю, что защищать куки шифрованием бесполезно...
Я с DDK согласен, что укарсть cookie очень просто и расшифровать их даже не понадобится, достаточно их подделать. В cookie лучше не хранить ничего важнее пароля рядового пользователя форума. | |
|
|
|
|
|
|
|
для: isset
(06.11.2005 в 16:26)
| | Где про это можно почитать? | |
|
|
|
|
|
|
|
для: Atom
(06.11.2005 в 20:06)
| | Да, но все же прошу помочь с установкой параметров, об этом я писал в самом начале.
Подделать куки? Хех у меня такое не пройдет, в самом начале скрипта идет проверка куков - на наличие такого логина и пароля в базе данных, в противном случае переменная куки удаляется. А то, что пароли рядовых пользователей - это верно =)
P.S. Еще раз прошу помочь с параметрами :( | |
|
|
|
|
|
|
|
для: Agronom
(06.11.2005 в 22:27)
| | Дело в том, что cookie передаются через HTTP-заголовки, поэтому в них не должно быть спец-символов, перед тем как помещать значение cookie в функцию setcookie пропустите это значение через функцию urlencode()
<?php
setcookie("username", urlencode($cookie_name), time()+600, /films/index.php, 128.0.0.220, 1);
?>
|
При получении cookie со стороны клиента следует декодировать значение при помощи функции urldecode(). | |
|
|
|