mysql_query("SELECT uid, password FROM crew WHERE login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1") Что обозначает "LIMIT 1" ? И такой вопрос - там что то header's не должны выводиться - первым делом устанавливаются куки... А требуется сделать установку cookies, в include файле, а этот файл вставляется посреди index'a? Есть более навороченные способы установить куки? Например... создать отдельный файл, отвечающий за установку cookies и когда требуется, что бы он сам включался в index и делал свою работу? Спасибо за помощь и... продолжение следует Я решился взяться сам за давно задуманный сайт
Limit - это сколько выводить строк из таблицы, как пифлит писал выше Limit 1,10 выведет с первой по 10
омг, ступил) короче Limit 1,10 выведет 10 записей после 1 записи, там отсчёт идет с нуля лимит там вообще не нужен, там и так выводится только та строка которой соответствует login
omg Limit 1 в данном контексте дает гарантию, что запрос будет применен только к первому вхождению в поле возможных значений. Иначе говоря, есть у нас таблица lg: запрос заменит все значения, а если добавить Limit 1, то только первое. 2 PEPSICOLA: cookies должны быть установлены до первого вывода информации на экран. я уверен, можно структуру скриптов переформировать таким образом, чтобы это правило соблюдалось.
Уже же обсуждалось, что кукисы можно ставить где угодно в скрипте, и хидеры посылать можно где угодно в скрипте... Просто нужно воспользоваться механизмом кеширования вывода, который PHP предоставляет разработчику веб-приложений... Почитай маны на тему функций ob_start() и ob_end_flush(), да и вообще всех функций ob_*. Для твоего примера решение будет следующее: PHP: ob_start(); echo "Бугого!"; require_once('bugogo_lib.php'); ob_end_flush(); Внутри bugogo_lib.php может строять вызов setcookie и он корректно отработает за счёт того, что PHP прокеширует весь вывод скрипта, потом пошлёт хидеры, и только за ними отдаст прокешированный вывод...
У меня появился ещё один вопрос. Каким способом можно предотвратить загрузку сниферров на сайт ввиде изображений? Допустим, открыта пользователю функция загрузки изображений. Он переделывает php скрипт в jpg формат, загружает, появляется опасность стыривания cookies и т.п. Каким способом, можно проверять файлы, на такие вот внедрения кода в jpg? И как это вообще избежать? Если есть подобная инфа на счёт Mp3 - Тоже очень интересует. Большое спасибо
Ну для этого не надо проверять саму картинку, хотя можно конечноже функциями из GD например getimagesize() но смысл заключается в правильной фильтрации размещения этих картинок, т.е. защита от активных XSS, а так максимум что можно отснифать это ip адресс того кто увидит картинку, и куки не украдут при правильной фильтрации
при размещении картинки, или ссылки, например на форуме когда ты между [bb] кодов юзербар размещаешь или аватару, куки же не тырятся можно только ип отснифать, фильтрация заключается в том, чтоб нельзя было вставить свой код, если ты сам верстаешь страницу, и пользователь не может вставлять картинки как на форуме, то тут проблемм быть не должно, если картинка берется с удаленного сервера, то тут уже фильтрация нужна, просто понимаешь в двух словах эту тему не осветишь, тут полно нюансов
решение - не разрешай ставить ссылки на удаленные картинки. т.е. позволь только загружать картинки. загружаемую картинку проверяй GD library на корректность (isgif...isjpeg - вроде так)
Понятно, спасибо, мэн! У меня идёт так: пользователь загружает картинки на сайт и вставляет их в Bb тэги, уже с сайта. edit: всмысле локального сайта... нет возможности удалённой вставки.
плюс проверяй последнее расширение у загружаемой картинки, а лучше всего пусть скрипт сам добавляет расширение
ну тут тогда надо проверять, чтоб между bb тегами нельзя было вствлять реальные теги пльс слова типа javascript и т.п. вобще WJ любит эту тему посмотри статьи где он описывает xss в форумах