Вопрос № 76917: Здравствуй All! Помогите пожалуйста чайнику найти ошибку в коде (см. приложение). Err.log выдает следующее:
PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in email.php on line 2
..Вопрос № 77023: Здраствуйте. В приложении функция создания уменьш. копий изображений. Но почемуто она их делает нецветными. В чем проблема?
Спасибо....Вопрос № 77092: Дорогие эксперты! Помогите мне с регистрацией. Хочу создать раздел, который закрыт для незарег пользователей. Как сделать регистрацию и такой раздел?...Вопрос № 77133: ЗДратсвуйте подскажите пожалуйста в чем может быть проблемма?
Parse error: parse error, unexpected $end in z:\home\localhost\www\board.php on line 89
но у меня нету 89 строчки...
С чем такое может быть связано?...Вопрос № 77137: Уважаемые эксперты,
в PHP-скрипте вызывается функция, которая с "третьего" сайта берет число и возвращает его в качестве результата. Проблема в том, что "третий" сайт не всегда доступен, а результат пользователю на экран нужно...Вопрос № 77358: Здравствуйте.
Вопрос по поводу $_SERVER['HTTP_REFERER'].
Веду статистику сайта, и очень часто посетители заходят ко мне, не только на главную страничку, с пустым полем REFERER.
Как еще можно узнать откуда пришел пользователь.
ЗЫ: в MY...Вопрос № 77382: здраствуйте. меня интересует один вопрос. однажды бродя по инету :) я увидел такой сайт: http://try2hack.nl/levels/
мне понравилась эта идея, и я хотел бы реализовать её например на моём сайте. но я что-то не понял, по какому принципу можно сдела...
Вопрос № 76.917
Здравствуй All! Помогите пожалуйста чайнику найти ошибку в коде (см. приложение). Err.log выдает следующее:
PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in email.php on line 2
Отвечает: PVS
Здравствуйте, DennisKraft!
Вместо всех разрывов стороки поставте
и все заработает как надо
Приложение:
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 27.02.2007, 09:58
Отвечает: Архипов Александр Юрьевич
Здравствуйте, DennisKraft!
Я обычно делаю проще:
$subj = "Web-freelance - Ваше сообщение";
$text = <<<HERE
Уважаемый $_POST['name']
Спасибо за ваш интерес к нашим услугам, Ваш запрос будет обработан,как можно быстрее.
Если у Вас возникли вопросы, будем рады на них ответить.
-----
С уважением,
Сервис Web-freelance.od.ua
http://web-freelance.od.ua
HERE;
Это и проще и понятнее. Плюс - все переменные автоматически подставляются в текст.
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 27.02.2007, 21:30
Вопрос № 77.092
Дорогие эксперты! Помогите мне с регистрацией. Хочу создать раздел, который закрыт для незарег пользователей. Как сделать регистрацию и такой раздел?
Отправлен: 28.02.2007, 06:05
Вопрос задал: Sergo (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Miklucho
Здравствуйте, Sergo!
Устанавливать зарегистрированным пользователям куки и при обращении пользователя к закрытой странице проверять у него наличие куков, если их нет то доступ к странице запрещаем.
Про куки и сессии почитайте здесь: cookie session
Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 28.02.2007, 10:11
Отвечает: Nexus
Здравствуйте, Sergo!
В дополнение к ответу Miklucho - лучше все-таки не куки, а сессию, она при нормально настроенном сервере, будет работать и с отключенными кукисами. Плюс в свои кукисы человек может записать все что угодно, а переменные сессии все-таки хранятся на сервере.
Если тебе просто нужно закрыть админку, то, вообщем-то, можно поставить пароль на папку через htaccess, но тогда довольно затруднительно добавление нового пользователя.
Если нужна именно регистрация - создаешь таблицу с пользователями (id, login, pass (лучше его хэш - на случай, если кто-то получит дамп базы - хотя и его можно сломать), etc), скрипт авторизации сверяет логин/хэш пароля и, если они правильные, ставит какой-то флаг в сессии. А потом к опр. разделу допускать только тех, у кого установлен этот флаг. В смысле безопасности можно сверять ip, с которого залогинились и который у пользователя в даный момент, и т.п. Иногда имеет смысл сверять HTTP_REFERER (страница с
которой перешли), чтобы с сохраненной на локальную машину страницы с, возможно, измененными полями, не пытались что-то передавать твоему скрипту, но на самом деле подменить http-заголовки довольно просто.
Удачи!
Ответ отправил: Nexus (статус: 5-ый класс)
Ответ отправлен: 28.02.2007, 14:15
Отвечает: Zolton007
Здравствуйте, Sergo!
Есть много способов. Вы, к сожалению, не описали свою ситуацию. Итак:
1) Применить встроенную аутентификацию HTTP 1.0 либо HTTP 1.1 (дайджест-аутентификацию), но они не очень надежные + поддерживаются не всеми браузерами. И та и другая защищают именованные области на хосте.
2) Применить встроенную аутентификацию PHP и Apache, т.е. фактически корректно настроить файлы .htaccess и .htpass как их настроить и динамически изменять подробно описано во многих статьях рунета. Поисковики в помощь :)
3) Напрячься и написать собвственную систему аутентификации :) Т.е., как уже говорили, использовать кукисы и сесси для отслеживания пользователя в системе. Выбрать подходящее место и способ хранения паролей и параметров пользователя (если это надо). Вот. Этот (т.е. 3-тий способ) можно юзать вместе со 2 и 1 :)) Т.е. например, положить в папку со скриптами для логининья и, например, файлом с паролями файл .htaccess, в котором написать строчку "deny from all" И в эту папку извне уже будет намного сложнее
проникнуть, т.к. для этого уже придется ломать сервак =)
Бог в помощь :) а ваще надо было тебе подробнее описать свою ситуацию. Я бы тогда подробнее расписал че делать :)) а так... это была бы избыточная информация, если бы я все пункты расписал :)))
BYE
--------- Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 3-ий класс)
Ответ отправлен: 28.02.2007, 22:10
Вопрос № 77.133
ЗДратсвуйте подскажите пожалуйста в чем может быть проблемма?
Parse error: parse error, unexpected $end in z:\home\localhost\www\board.php on line 89
но у меня нету 89 строчки...
С чем такое может быть связано?
Отправлен: 28.02.2007, 12:15
Вопрос задал: DarkHacker (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Straight
Здравствуйте, DarkHacker!
Вы не закрыли какую-то синтаксическую конструкцию (например не поставили закрывающую фигурную скобку). Парсер дошел до конца файла, а искомого не обнаружил.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 28.02.2007, 12:26
Отвечает: Райкин Сергей Александрович
Здравствуйте, DarkHacker!
У меня такое бывает когда не закрыта скобка }
Например: см. приложение выведет Parse error: parse error, unexpected $end in *.php on line 5
Приложение:
--------- программист должен работать в свое удовольствие
Отвечает: PVS
Здравствуйте, DarkHacker!
Идеи две:
1)оно посчитало все вместе с include - но такого никогда не было и быть не должно.
2)самый вероятный вариант - windows-ный разрыв строки CR+LF оно считает за два подряд разрыва, соответственно количество строк оно видит вдвое больше. Ищите ошибку в 45й строке в этом случае
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 28.02.2007, 12:39
Отвечает: Zolton007
Здравствуйте, DarkHacker!
Например, Вы забыли поставить точку с запятьй перед опрерацией с переменной $end..... или после :) Смотрите последнюю строчку =) Лучше б Вы привели свой код, чтобы мы посмотрели =) Мы ж не телепаты =)
--------- Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 3-ий класс)
Ответ отправлен: 28.02.2007, 22:32
Вопрос № 77.137
Уважаемые эксперты,
в PHP-скрипте вызывается функция, которая с "третьего" сайта берет число и возвращает его в качестве результата. Проблема в том, что "третий" сайт не всегда доступен, а результат пользователю на экран нужно вывести полюбому.
Как сделать чтобы при невозможности получить число с "третьего" сайта функция возвращала ноль, а не продолжала ждать ответа до победного таймаута?
Спасибо.
Отправлен: 28.02.2007, 12:53
Вопрос задал: Зяма (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Ерёмин Андрей
Здравствуйте, Зяма!
Эээ... А зачем тогда нужен таймаут, позвольте спросить? Несостыковка какая-то получается - установить таймаут, а закончить запрос раньше времени. Так нельзя. Если хотите, чтобы работало быстрее, уменьшите таймаут - например поставьте 5 секунд. А лучше не забирать данные с сайта при каждом запуске скрипта, а поставить на Cron небольшой скрипт, который эти данные забирает и записывает куда-нибудь. Например в текстовый файл. А при запуске скрипта данные просто читаются из файла. Плюсы: 1) При запуске скрипт не
будет ждать ответа с другого сервера, а моментально загрузит данные из файла. 2) При запуске скрипта через Cron таймаут можно оставить средним, а не делать его слишком маленьким (30 секунд например хватит). 3) Скрипт, стоящий на Cron можно сделать таким, что в файл число 0 не записывается - если получен 0, то значение остаётся старое. В этом случае пользователь всегда увидит число (пусть и немного устаревшее), но зато точно не 0 из-за временной недоступности сайта. Желаю у
дачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор) Россия, Тула WWW:Программирование на Delphi. Всё для программиста. Файловый архив, статьи, помощь, советы, обмен опытом. ICQ: 286867644 ---- Ответ отправлен: 28.02.2007, 15:51 Оценка за ответ: 4 Комментарий оценки: Я не устанавливал таймаутов. Таймаут прописан на сервере и происходит приблизительно через 10 секунд. При этом приостанавливается
работа всего скрипта, а не только "подвисшей" функции. Вариант с cron-ом в моем случае совсем не вариант, но спасибо.
Вопрос № 77.358
Здравствуйте.
Вопрос по поводу $_SERVER['HTTP_REFERER'].
Веду статистику сайта, и очень часто посетители заходят ко мне, не только на главную страничку, с пустым полем REFERER.
Как еще можно узнать откуда пришел пользователь.
ЗЫ: в MYIE при перетягивании ссылкы она открываеться в фоновом режыме, при этом поле REFERER остается пустым.
Но не все же юзеры так делают? И как это миновать?
Отвечает: Punk_UnDead
Здравствуйте, Райкин Сергей Александрович!
а никак
тем более, что срубив это поле можно
во первых - копеечно сэкономить траффик
во вторых - меньше оставлять следов, поэтому чего бы вы там не хотели, а пользователи оставят информации не больше чем захотят
срубят скрипты, отключат картинки, сменят UA , если захотят конечно и вы с этим ничего не поделаете, разве что ограничите сервис для таких умельцев, но это Вам надо?
--------- всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 4-ый класс)
Ответ отправлен: 01.03.2007, 18:30
Отвечает: Илья Андреевич
Здравствуйте, Райкин Сергей Александрович!
Никак. Реферер - единственный показатель источника пользователя.
Некотрые люди специально отключают их в браузерах.
Ответ отправил: Илья Андреевич (статус: Студент)
Ответ отправлен: 01.03.2007, 20:58
Вопрос № 77.382
здраствуйте. меня интересует один вопрос. однажды бродя по инету :) я увидел такой сайт: http://try2hack.nl/levels/
мне понравилась эта идея, и я хотел бы реализовать её например на моём сайте. но я что-то не понял, по какому принципу можно сделать такую фишку проверки пассворда :) ну например чтобы на пароль она реагировала так, а на остальное по-другому, ну вобщем я думаю вы меня поняли..
на этом сайте данные вроде отправляются методом post, это наверно можно сделать и на php, вобщем, расскажите, если можно как можно подробнее, как с нуля написать такую форму проверки "ну к примеру пароля".. заранее спасибо)
Отправлен: 01.03.2007, 20:24
Вопрос задал: Sinn2 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Zolton007
Здравствуйте, Sinn2!
А ты внимательно смотрел код страницы? А формы? Там все на js Реализовано. Вот, например:
<input type="reset" value="click here to continue" onclick="Try(pass.txtpasswd.value)">
В этой форме ваще нету action и сабмитов. И никаким методом нифига не отправляется. Просто выполняется ява-скрипт.
Вот. Если ты посмотришь код этой ф-ции (Try), то увидишь, что пароль для перехода на второй уровень - h4x0r
И ваще.... я вот дальше залез и понял, что это специально сделано. Чтобы крутые перцы специально типа "хакали" страничку за страничкой и чувствовали себя кулхацкерами =) вот.
Если хочешь так сделать - изучи код странички, выдерни себе эти js функции. Если хочешь, чтобы что-нить было по-другому - напиши сам то, что хочешь. Например, сделай, чтобы эта форма всетаки отправляла данные на проверку скрипту и т.д. и т.п. =)
BYE
--------- Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 3-ий класс)
Ответ отправлен: 01.03.2007, 22:21