Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Формы и безопасность


Recommended Posts

Алоха, Господа

 

Вопрос по безопасности, как правильно обезопасить отправку формы которая будет записываться в бд и отправляться на почту 

 

У меня такая логика 

Отправка Аяшкой

1) Сначала вальвация и обработка ошибок 

2) Прогоняем через функцию очистки и только тогда отправка и запись в бд

 

Верно я мыслю или еще что-то нужно учесть ? 

 

Заранее спасибо !

Надіслати
Поділитися на інших сайтах

Лучше всего подготовленные данные

немного не понял о чем Вы

Надіслати
Поділитися на інших сайтах

Например SCRF-токен.

Для регистрированного пользователя актуально, а для просто прохожего который заполняет форму, вовсе нет, или я не прав ? 

Надіслати
Поділитися на інших сайтах

В OpenCart этого за глаза хватит:

  • проверка формы на ошибки
  • использовать явное преобразование типов, например, (int)$value
  • использовать экранирование $this->db->escape($value);
  • для остального, например, email есть встроенные функции php и регулярки(не рекомендую). А так же классы, которые предназначены для этого.
Змінено користувачем halfhope
  • +1 1
Надіслати
Поділитися на інших сайтах

 

В OpenCart этого за глаза хватит:

  • проверка формы на ошибки
  • использовать явное преобразование типов, например, (int)$value
  • использовать экранирование $this->db->escape($value);
  • для остального, например, email есть регулярки и встроенные функции php

 

спасибо за ответ, принципи я так и думал 

 

Вот меня ошарашил фронтовский контроллер в одной  из тем

$run_query = $this->db->query("INSERT INTO `" . DB_PREFIX . "subscription` (customer_email, customer_name, date_created, language_id, store_id) VALUES ('".$_POST['semail']."', '".$_POST['sname']."', NOW(), '".$_POST['language_id']."', '".$_POST['store_id']."')");
Надіслати
Поділитися на інших сайтах

 

спасибо за ответ, принципи я так и думал 

 

Вот меня ошарашил фронтовский контроллер в одной  из тем

$run_query = $this->db->query("INSERT INTO `" . DB_PREFIX . "subscription` (customer_email, customer_name, date_created, language_id, store_id) VALUES ('".$_POST['semail']."', '".$_POST['sname']."', NOW(), '".$_POST['language_id']."', '".$_POST['store_id']."')");

 

Явная SQL inj

Надіслати
Поділитися на інших сайтах

PDO

а смысл для модуля подключать PDO ?

Если я чего-то не улавливаю, объясните, буду только рад прочитать полезную информацию  

Надіслати
Поділитися на інших сайтах

Явная SQL inj

сам прикол - это платная тема с не малыми продажами  :cry:

Надіслати
Поділитися на інших сайтах

К автору тогда, а то у меня работы будет много  :ugeek:

ну как есть ) 

Надіслати
Поділитися на інших сайтах

а смысл для модуля подключать PDO ?

Если я чего-то не улавливаю, объясните, буду только рад прочитать полезную информацию  

не было ни слова о модуле, спрашивали о безопастности. PDO закрывает кучу проблемных мест

Змінено користувачем pantagruel964
Надіслати
Поділитися на інших сайтах

 А так же классы, которые предназначены для этого.

 

За это отдельно спасибо, функционал бомба просто !

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.