FireNet о защите данных и других проблемах современности

FireNet

Новичок
А пробовал после соединения с базой
первым запросом выполнить этот
mysql_query("SET NAMES cp1251");

или может помочь этот:

mysql_query("SET NAMES utf8")

:)
 

FireNet

Новичок
$_REQUEST юзать глупо, но местами довольно удобно =). Но POST данные можно редактировать, и обходить например MAXLENGTH в формах. Нужно осуществлять дополнительные проверки в php скрипте, который принимает данные из POST и GET. Как вариант, нужно держать информацию, о том, какие переменные должны прийти из GET, а какие из POST, делать проверку обоих массивов, резать лишние переменные, а потом объединять массивы.
 

FireNet

Новичок
в curl вроде можно. А через fsockopen() и конфигурацию apache и php вроде бы никак :(
 

FireNet

Новичок
Чтобы создать первый эшелон защиты от хакеров которые будут пытаться передать параметры через GET, чтобы обойти тот же maxlenght, да и мне кажется, что так более грамотно. И предположим, что у нас есть яваскрипт, который проверяет данные, введеные в форму, а чел взял, и прописал их гетом. Если принимать через $_REQUEST, то пусть даже стоят фильтры и проверки параметров, это выглядит неграмотно. А так, его опять редиректнит на страницу с формой, т.к. $_POST пустой. Меньше нагрузка идет на сервер
 

Frol

Новичок
Как вариант, нужно держать информацию, о том, какие переменные должны прийти из GET, а какие из POST, делать проверку обоих массивов, резать лишние переменные, а потом объединять массивы.
как вариант чего?
 

uliss

Новичок
У меня maxlength полей формы в броузере отключается :)
Проверку формы на сабмит проверяю функцией
is_submit(){
return isset($_POST['submit']);
}

Если нужно будет изменить метод отправки форм, придется только изменить эту функцию.

$_REQUEST - это для данных, о которых неизвестно, каким способом они "пришли". И в этих случаях и нужно применять $_REQUEST. Просто используйте его там, где это необходимо. Пример: иногда нужно, чтобы результаты поиска выводились как через форму, так и по гиперссылке. И зачем тогда огород городить с объединением массивов.

А насчет нагрузки - есть более эффективные способы ее снижения - если уж эта проблема действительно возникнет.
 

FireNet

Новичок
Автор оригинала: uliss
$_REQUEST - это для данных, о которых неизвестно, каким способом они "пришли". И в этих случаях и нужно применять $_REQUEST. Просто используйте его там, где это необходимо. Пример: иногда нужно, чтобы результаты поиска выводились как через форму, так и по гиперссылке. И зачем тогда огород городить с объединением массивов.
Вот этим и удобен $_REQUEST =)

А вот про проверку submit я как то подзабыл, в последнем проекте вообще не использовал :)
 

phprus

Moderator
Команда форума
uliss
Пример: иногда нужно, чтобы результаты поиска выводились как через форму, так и по гиперссылке. И зачем тогда огород городить с объединением массивов.
Для таких целей надо применять форму передаваемую методом GET и тогда действительно не надо будет городить огород с объединением массивов.
 

uliss

Новичок
phprus
Это понятно, но не всегда хорошо. Допустим, есть форма поиска с различными условиями, некоторые из них довольно сложные, и могут замедлять запрос.

Так вот если форма передается через GET - пользователи просто поставят закладку на поиск, а это не надо, так как могут в будущем измениться названия дополнительных полей и т.д.
 

FireNet

Новичок
phprus, а если у нас в форме есть <textarea> ? Ведь такое тоже может быть. Передавать кучу данных через GET?
 

phprus

Moderator
Команда форума
FireNet
Если у нас в форме есть textarea, то врятли эта форма поиска, а во вторых врятли содержимое textarea можно передать по ссылке. В моем сообщении речь идет о формах данные из которых будут в последствии передаваться по ссылкам.
 

FireNet

Новичок
phprus, данные из формы поиска имхо тоже лучше передавать через GET. Просто у меня бывали случаи, когда переменная могла прийти как из GET, так и из POST, и в зависимости от этого определять, что делать. Если из id новости в админке пришел из GET- выводится форма редактирования, если из POST, попытаться добавить новость в БД. Но идея с проверкой на $_POST['submit'] в данном случае мне кажется более правильной =) А id брать из $_REQUEST
 
Сверху