RFpro.ru: Программирование на PHP

  Все выпуски  

RFpro.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

SAW
Статус: 7-й класс
Рейтинг: 49
∙ повысить рейтинг »
Хватов Сергей
Статус: Академик
Рейтинг: 41
∙ повысить рейтинг »
Асмик Гаряка
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »

∙ PHP / Perl / Python

Номер выпуска:1317
Дата выхода:21.05.2019, 15:45
Администратор рассылки:Коцюрбенко Алексей Владимирович (Модератор)
Подписчиков / экспертов:22 / 16
Вопросов / ответов:3 / 6

Консультация # 98748: Здравствуйте уважаемы знатоки PHP! Вопрос в следующем: обычно результаты формы я обрабатываю через массив $_REQUEST, но меня смущает, что вы во всех ответах с обработкой форм используете $_POST, $_GET. А чем плох $_REQUEST? Может я чего-то не догоняю и имеет место брешь в безопасности или это только для старых версий PHP? Просветите пожал...
Консультация # 43282: Эксперты здрасте! У меня такой вопрос: как по заданому урл загрузить юзеру любые данные без переадресацыи? И как, опять по заданому урл, определить все файлы на серве? Например url = "www.xxx.xxx.ru/xxx/yyy" и вывесьти что лежыт в папки ууу. Надеюсь всё понятно. Кто поможет тому спасибо!...
Консультация # 48509: Добрый день! Нужен скрипт для голосований на PHP с защитой от повтрорного голосования. А имеено, как реализовать защиту. Буду очень рад, если вы приложите исодник к вашему ответу. Спасибо!...

Консультация # 98748:

Здравствуйте уважаемы знатоки PHP!

Вопрос в следующем: обычно результаты формы я обрабатываю через массив $_REQUEST, но меня смущает, что вы во всех ответах с обработкой форм используете $_POST, $_GET. А чем плох $_REQUEST? Может я чего-то не догоняю и имеет место брешь в безопасности или это только для старых версий PHP? Просветите пожалуйста.

Дата отправки: 17.08.2007, 19:10
Вопрос задал: Почерк
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Kruphi:

Здравствуйте, Почерк!
Если есть четкая уверенность что данные сейчас (и в будущем) передаются только методом post или get, то для обеспечения дополнительного контроля можно использовать $_POST или $_GET.

У меня на практике есть данные которые могут передаваться и через форму (post) и по ссылке (get) - обычно это интерфейсные данные (порядок сортировки отображаемой таблицы данных, текущая страница, число записей на страницу и т.п.). В этом случае используется $_REQUEST.

Консультировал: Kruphi
Дата отправки: 17.08.2007, 19:33
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Бобровский Сергей Сергеевич:

Здравствуйте, Почерк!
Дело в том, что в массив $_REQUEST включаются все передоваемые переменные вне зависимо от того, какой метод использовался. А в массивы ГЭТ и ПОСТ включаются только `свои` переменные. К примеру, если в обоих методах есть $_GET[\'var\'] и $_POST[\'var\'], то в $_REQUEST окажется только одна из них.
Другой вопрос еще и в безопасности.
В принципе, если пользоваться $_REQUEST, то это также, как было бы при включенном register_globals в php.ini, а это, с точки зрения безопасности, не очень то безопасно.

Консультировал: Бобровский Сергей Сергеевич
Дата отправки: 17.08.2007, 19:34
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует PVS:

Здравствуйте, Почерк!
Да разницы никакой, разве что Вы ухитритесь написать Form с action="act1=чего-то" и в ней задать input name=act1 value=чего-то другое. Тогда что придёт в $_REQUEST - загадка природы, но так как подобные случаи вряд ли существуют в природе (в нормальных скриптах), то Вам всё равно $_POST, $_GET или $_REQUEST.

Консультировал: PVS
Дата отправки: 17.08.2007, 20:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Flynn:

Здравствуйте, Почерк!
$_REQUEST - это сборный массив из трех штук - $_GET, $_POST, $_COOKIE. Т.е. создав какую-то переменную в одном из этих массивов - она окажется и в $_REQUEST.
В общем-то с моей точки зрения особой бреши в безопасности тут не будет, так как register_global были опасны тем, что могли подменить неинициализированные переменные. Сдесь же в этом массиве переменная либо будет, либо нет. Но зато их можно очень просто подменить подставив значение в ту же строку запроса.

Единственное что не объясняет этот массив - это откуда эта переменная пришла. А енсли потребуется этот скрипт потом модифицировать или же изменять что-то, то тратить лишнее время на поиски из чего же явилась эта переменная никто не будет. Поэтому ради более красивого кода лучше использовать специализированные массивы - никто не запутается :)

Консультировал: Flynn
Дата отправки: 17.08.2007, 20:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 43282:

Эксперты здрасте!
У меня такой вопрос: как по заданому урл загрузить юзеру любые данные без переадресацыи?
И как, опять по заданому урл, определить все файлы на серве? Например url = "www.xxx.xxx.ru/xxx/yyy" и вывесьти что лежыт в папки ууу.
Надеюсь всё понятно.
Кто поможет тому спасибо!

Дата отправки: 17.05.2006, 02:10
Вопрос задал: Mirgorodchenko Anton
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Alexey Vilchinsky:

Здравствуйте, Mirgorodchenko Anton!
просто так определить какие файлы лежат в папке не удастся (если конечно нет доступа к этой папке по фтп).
Можно конечно просканировать все страницы сайта на ссылки, и если есть ссылки с присутствием в адресе этой папки, сохранять этот адрес, но я думаю, это будет довольно таки трудоемкое занятие тянуть с сайта весь контент.
смысл вопроса "как по заданому урл загрузить юзеру любые данные без переадресацыи?" не очень понятен. А вообще загрузить любые данные никто не даст. Юзер может загрузить только те данные, к которым разрешен доступ на скачивание, и то при этом требуется знать урл к нужному файлу.

Консультировал: Alexey Vilchinsky
Дата отправки: 17.05.2006, 08:23
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 48509:

Добрый день!

Нужен скрипт для голосований на PHP с защитой от повтрорного голосования. А имеено, как реализовать защиту.
Буду очень рад, если вы приложите исодник к вашему ответу.

Спасибо!

Дата отправки: 08.07.2006, 01:22
Вопрос задал: Демьянчук Виталий
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Stamm:

Здравствуйте, Демьянчук Виталий!
Можно сделать защиту через cookie, но пользователь может отключить куки, и тогда всё......
Способ 2: защита через IP. Опять же она не будет работать, если пользователь голосует через прокси, и если сидит по модему(но это не так страшно),т.к. если он захочет пройти защиту, ему надо будет отключаться от инета, а потом опять подрубаться. Это будет накладно для такого пользователя.
Я, например, сам написал скрипт голования с защитой через IP-адрес. В нём реализовано добавление-удаление вопросов,добавление-удаление ответов через web-интерфейс. Также если есть два и более опроса, выводиться один, случайным образом. Скрипт использует БД MySQL.
Можешь сам попробывать проголовать 2 раза:
www.stamm.jino-net.ru/gol.php

Если хочешь, могу скинуть скрипт на мыло

Консультировал: Stamm
Дата отправки: 08.07.2006, 10:21
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное