Если я правильно понял что написал alexspb то логика примерно такая:
Если пользователь нажмет на кнопку купить, то запишется в базу данных: идентификатор сессии (это типа логин пользователя), id товара и его количество.
Также я изменил настройки в php.ini на то чтобы сессия хранилась дня 3.
И если потом пользователь зайдет с этим идентификатором в куках в магазин, и идентификатор в куках совпадет с идентификатором в базе данных то заносим в сессию количество его товаров из базы данных.
Если что непонятно я объясню по подробней.
Читал статьи на форуме про создание интернет корзины, и все никак не могу понять как лучше сделать. Мне нужно сделать такую корзину, которая бы смогла запомнить общую стоимость товаров и их количество. И сразу пришла в голову мысль реализовать все это через cookie, к примеру запись id товара, его количество. Но в этом варианте есть свои недостатки:
1. Если пользователь купит товаров 100 - 200 (что мало вероятно ) то файл cookie просто не выдержит.
2. Второй недостаток это кража cookie, или их подмена. Конечно даже если хакер украдет cookie то самое страшное что он сможет сделать это оплатить все покупки , но все же это недостаток.
И второй вариант:
Когда пользователь нажмет на кнопку купить, то ему в cookie запишется уникальный логин или типа того... А после запишется в БД его с генерированный логин и вместе с ним id и количество товара. Но и в этом варианте тоже свои недостаток:
1. Это опять же кража (cookie) этого с генерированного логина.
Какой бы вариант не выбрать везде нужно шифровать данные в куках на основе ip адреса пользователя.
Помогите выбрать более эффективный и безопасный способ, и устранить их недостатки.
Я задавал этот вопрос хостеру и мне ответили что это не ошибка, а предупреждение. Говорит о том, что в скрипте используется неинициализированная переменная.
На локалхосте все работало, а вот на сомом сайте не работает выдает вот такую ошибку:
Notice: Undefined variable: filersscenter in /home/vanicon/docs/van.php on line 23
FROM wp_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC LIMIT 3");
while ($rss = mysql_fetch_array($sqlrss, MYSQL_BOTH)) {
$rsstitle = $rss["post_title"];
$rsslink = $rss["guid"];
$rssid = $rss["id"];
$filersscenter ='
<item>
<title>'.$rsstitle.'</title>
<link>'.$rsslink.'</link>
</item>';
}
mysql_free_result($sqlrss);
if ($_POST['add']){
$fp = fopen ('rss.xml', "w");
fwrite($fp, $filersscenter);
fclose($fp);
}
И все нормально вроде бы записывается в файл, но создается только одна конструкция <item>, а в запросе указывается лимит 3. Пишу вместо переменой $filersscenter вывод с помощью функции echo, выводит как надо по 3 конструкции. Подскажите пожалуйста что я не так делаю?
У меня логика такая:
Хакер взламывает пользователя, и если он ошибся в логине или пароле 3 раза, то блокируем хакера по его IP, на 15 минут (возможно ли это). Даже если хакер ошибся 3 раза только в пароле, а логин ввел правильно, то все ровно блокируем его по IP на 15 минут.
Поэтому лучше использовать гибридную блокировку - по ID и по IP в разумном соотношении и на разумное время - и также высылать уведомительное письмо пользователю которго хотели взломать чтобы он мог сменить пароль
То есть если пользователь не ввел пароль три раза, заносятся данные, его ip адрес в поле ip, дата ошибки в поле date, количество неудачных попыток в поле col.
А чему же тогда будет равен id? И как это использовать гибридную блокировку?