Форум → Программирование → Пыхнуть хотите? → F.A.Q. → Cookie
Cookie
Страницы: ← Предыдущая страница →
-
28 августа 2008 г. 22:58, спустя 24 дня 23 часа 59 минут
Для каждого браузера своя кука??
Или я что то не правильно написал?
И можно ли сделать что бы использовался только 1 кук? -
28 августа 2008 г. 23:01, спустя 3 минуты 5 секунд
кука то в броузере хранится - следовательно даYou can be anything you want to be. Just turn yourself into anything you think that you could ever be. -
29 августа 2008 г. 0:33, спустя 1 час 31 минуту 20 секунд
Для каждого браузера своя кука??
Или я что то не правильно написал?
И можно ли сделать что бы использовался только 1 кук?6.3 Implementation Limits
Practical user agent implementations have limits on the number and
size of cookies that they can store. In general, user agents' cookie
support should have no fixed limits. They should strive to store as
many frequently-used cookies as possible. Furthermore, general-use
user agents should provide each of the following minimum capabilities
individually, although not necessarily simultaneously:
* at least 300 cookies
* at least 4096 bytes per cookie (as measured by the size of the
characters that comprise the cookie non-terminal in the syntax
description of the Set-Cookie header)
* at least 20 cookies per unique host or domain name
http://www.w3.org/Protocols/rfc2109/rfc2109
http://www.faqs.org/rfcs/rfc2965.htmlhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
-
29 августа 2008 г. 11:56, спустя 47 минут 18 секунд
Professor, RFC - это основной документ на который нужно опираться. Можешь поискать русскую версию, ведь номер есть у этих документов.
Там все на английском=(((
Жаль, что ты не на английском :) http://www.google.ru/translate_thttps://smappi.org/ - платформа по созданию API на все случаи жизни -
29 августа 2008 г. 12:41, спустя 45 минут 31 секунду
Я ПОСЕЩАЛ http://translate.google.ru/translate?hl=ru&sl=en&u=http://www.w3.org/Protocols/rfc2109/rfc2109&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3Drfc2109%26complete%3D1%26hl%3Dru%26lr%3D%26newwindow%3D1%26sa%3DG%26pwst%3D1
Там что то про печенье =))4.3.4 Отправка Печенье к Родной Server
а Если чесно, то такой перевод полностью прочитать и вникнуть не возможно.
Бегло просмотрев,выхватив понятные фразы, понял что там написано то что и везде.
Что кука храница на компе пользователя в виде текстового файла. Что каждая создается отдельно каждым браузером не видел.
Поэтому и решил,почему бы всем браузерам не брать 1 файл с таким то именем и оставленный с такого то сайта.
Теперь понял что глупость спросил. -
23 ноября 2009 г. 19:27, спустя 451 день 7 часов 45 минут
Уважаемый,adw0rd.
Если есть возможность помоги пожалуйста, я делаю авторизацию для своей cms и мне кажется дело в куки.
вот код, в результате чего после регистрации, я начинаю проходить авторизацию и меня не пускает
Код авторизации
<?php
// Страница авторизации
# Функция для генерации случайной строки
function generateCode($length=6) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHI JKLMNOPRQSTUVWXYZ0123456789";
$code = "";
$clen = strlen($chars) - 1;
while (strlen($code) < $length) {
$code .= $chars[mt_rand(0,$clen)];
}
return $code;
}
# Соединямся с БД
include_once "connect_to_mysql.php";
if(isset($_POST['submit']))
{
# Вытаскиваем из БД запись, у которой логин равняеться введенному
$query = mysql_query("SELECT user_id, user_password FROM users WHERE user_login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");
$data = mysql_fetch_assoc($query);
# Сравниваем пароли
if($data['user_password'] === md5(md5($_POST['password'])))
{
# Генерируем случайное число и шифруем его
$hash = md5(generateCode(10));
if([email protected]$_POST['not_attach_ip'])
{
# Если пользователя выбрал привязку к IP
# Переводим IP в строку
$insip = ", user_ip=INET_ATON('".$_SERVER['REMOTE_ADDR']."')";
}
# Записываем в БД новый хеш авторизации и IP
mysql_query("UPDATE users SET user_hash='".$hash."' ".$insip." WHERE user_id='".$data['user_id']."'");
# Ставим куки
setcookie("id", $data['user_id'], time()+60*60*24*30);
setcookie("hash", $hash, time()+60*60*24*30);
# Переадресовываем браузер на страницу проверки нашего скрипта
header("Location: check.php"); exit();
}
else
{
print "Вы ввели неправильный логин/пароль";
}
}
?>
<form method="POST">
Логин <input name="login" type="text"><br>
Пароль <input name="password" type="password"><br>
Не прикреплять к IP(не безопасно) <input type="checkbox" name="not_attach_ip"><br>
<input name="submit" type="submit" value="Войти">
</form>
Код проверки, который не пускает … пишет - не получилось<?php
// connect to your MySQL database here
include_once "connect_to_mysql.php";
// Скрипт проверки
# Соединямся с БД
if (isset($_COOKIE['id']) and isset($_COOKIE['hash']))
{
$query = mysql_query("SELECT *,INET_NTOA(user_ip) FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1");
$userdata = mysql_fetch_assoc($query);
if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id'])
or (($userdata['user_ip'] !== $_SERVER['REMOTE_ADDR']) and ($userdata['user_ip'] !== "0")))
{
setcookie("id", "", time() - 3600*24*30*12, "/");
setcookie("hash", "", time() - 3600*24*30*12, "/");
print "Хм, что-то не получилось";
}
else
{
print "Привет, ".$userdata['user_login'].". Всё работает!";
}
}
else
{
print "Включите куки";
}
?>
глянь пожалуйста -
23 ноября 2009 г. 19:43, спустя 16 минут 38 секунд
adw0rd, давай
мы на тебя надеемся :)все умрут, а я изумруд -
23 ноября 2009 г. 19:48, спустя 4 минуты 59 секунд
adw0rd, потом я тебе еще скину пару своих тасков…
глянешь пожалуйста ? -
23 ноября 2009 г. 20:04, спустя 15 минут 54 секунды
)))))) Парни )) )) помогите, ну правда. только начал разбираться, хочется сделать безопасный логин, а не просто сравнил и погнали ((
Спасибо =) я понимаю каэшн это стебно -
-
23 ноября 2009 г. 20:07, спустя 11 секунд
уважаемый igrayka, воспользуйтесь пожалуйста поиском по форуму(благо что он у нас есть и работает даже неплохо)
вы не первый кто пытается решить подобную проблему, прочитайте внимательно статью автором которой является md5
спасибо,
удачи. -
23 ноября 2009 г. 20:08, спустя 1 минуту 33 секунды
<form method="POST">
мне кажется ты на вторую страницу просто не переходишь… -
24 ноября 2009 г. 10:00, спустя 13 часов 51 минуту 59 секунд
igrayka,
Прочитай первый пост в этой теме, относительно пути установки куки. Может в этом твоя проблема. -
25 ноября 2009 г. 11:30, спустя 1 день 1 час 29 минут
$query = mysql_query("SELECT *,INET_NTOA(user_ip) FROM users WHERE user_id = '".intval($_COOKIE['id'])."' LIMIT 1");
$userdata = mysql_fetch_assoc($query);
if(($userdata['user_hash'] !== $_COOKIE['hash']) or ($userdata['user_id'] !== $_COOKIE['id'])
or (($userdata['user_ip'] !== $_SERVER['REMOTE_ADDR']) and ($userdata['user_ip'] !== "0")))
в SQL запросе есть конструкция "INET_NTOA(user_ip)", ее надо заменить на "INET_NTOA(user_ip) as user_ip", потомучто потом идет обращение "$userdata['user_ip']", а MySQL вернет не "user_ip", а "INET_NTOA(user_ip)"Спустя 109 сек.И так как вы вытаскиваете еще все ("SELECT *,"), то у вас там есть уже user_ip, но он не тот, который вам нужен
вам надо после$userdata = mysql_fetch_assoc($query);
вызватьprint_r($userdata); exit;
и разобраться что у вас есть в выводеhttps://smappi.org/ - платформа по созданию API на все случаи жизни
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!