|
 1.3 Кб |
|
| Просмотрел несколько тем форума с подобным вопросом и попробовал написать самостоятельно функцию.
Функция предназначена для обработки данных из $_POST и $_GET, она не претендует на какую то панацею в вопросах безопасности, просто попытался сделать обработку данных в одном месте скрипта.
В файле есть форма для проверки того, как обрабатываются данные.Проверял и занесением в БД и просто выводом в окно браузера, вроде всё работает.
Отсутствие опыта не даёт полного понимания всех функций, которые я применил, поэтому и обращаюсь к более опытным, помогите, подскажите...
Файл с функцией прилагаю. | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2009 в 04:15)
| | http://softtime.ru/forum/read.php?id_forum=1&id_theme=62802&page=1
А Вашу функцию я даже комментировать не берусь.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Loki
(24.02.2009 в 10:33)
| | если я правильно понял, функция по той ссылке, которую ты дал, облрабатывает данные в том случае если включены magic_quotes_gpc и только удаляет обратный слеш.
как я понимаю, перед занесением в БД надо добавлять этот слеш, как в этом случае быть? | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2009 в 11:40)
| | с mysql_escape_string быть надо именно перед занесением в БД. причем именнро через клиент mysql (а не mysqli ) И делать это надо не только с тем что пришло из get/post , но и со всем вообще.
А с htmlspecialchars надо быть именно перед выводом в html-поток. И делать это надо не только с тем что пришло из get/post , но и со всем вообще.
Так что быть надо в нужном месте в нужное время. А не сразу скопом всё.
А любая попытка обработать данные в одном месте будет напоминать приготовление ужина с пропусканием через мясорубку всего, начиная с устриц и кончая тирамису. | |
|
|
|
|
|
|
|
для: Trianon
(24.02.2009 в 11:55)
| | C mysql_escape_string понятно, вот только не совсем понял насчёт "...mysql (а не mysqli )...".
Объясни, пожалуйста, почему нельзя перед занесением данных в БД, обрабатывать их htmlspecialchars,почему только перед выводом в поток надо применять?
И по поводу обработки данных. это всё я хотел применить только к своему приложению, где данные в БД заносятся только из $_POST и не из каких других глобальных массивов туда ни чего не заносится.
>Так что быть надо в нужном месте в нужное время.
Полностью согласен, но я исходил из того, что обработчик принимает данные и в зависимости от того, каким методом были переданы они, обрабатывает.
Если,к примеру, есть
http://local/index.php?id=1&name=name
надо обработать
stripslahes(если кавычки включены);
проверить тип данных и если число - привести к целому
если строка обработать htmlspecialhars
Перечитал снова твоё сообщение и понял свою ошибку по поводу GET :) | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.02.2009 в 12:41)
| | >C mysql_escape_string понятно, вот только не совсем понял насчёт "...mysql (а не mysqli )...".
А как Вы на mysqli создаете запрос с параметром? | |
|
|
|
|
|
|
|
для: Trianon
(24.02.2009 в 20:29)
| | по старинке делаю запросы, не дошёл пока до этого. | |
|
|
|
|
|
|
|
для: Trianon
(24.02.2009 в 11:55)
| | а что такое "Тирамису"? | |
|
|
|
|