Перейти к содержанию
Официальный форум поддержки Simpla

Как в SimplaCMS реализовано экранирование символов при записе в базу данных? Защита от Sql иньекций?


Рекомендуемые сообщения

Смотрю симплу и не вижу в ней ничего похожего на mysql_real_escape_string.
При добавлении заказа так же все данные записываются в обьект, потом формируется строка запрос и сразу исполняется.

 

Где в Симпле происходит защита от sql иньекций при записи в базу?

 

Ссылка на сообщение
Поделиться на другие сайты

Смотрю симплу и не вижу в ней ничего похожего на mysql_real_escape_string.

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

 

Где в Симпле происходит защита от sql иньекций при записи в базу?

Файл api/Database.php строка 97.

Использовать вот так $item = $this->db->escape($val);

Ссылка на сообщение
Поделиться на другие сайты

Файл api/Database.php строка 97.

Использовать вот так $item = $this->db->escape($val);

 

Балин

В версии которую я смотрю ТАКОГО НЕТ!!!

Качал с оф сайта примерно год назад.

Это плохо?

 

В старых версиях были какие нибудь уязвимости?

Ссылка на сообщение
Поделиться на другие сайты

В старых версиях были какие нибудь уязвимости?

Изменение кода связано с переходом на mysqli, из-за чего старые методы стали неактуальны.
Ссылка на сообщение
Поделиться на другие сайты

Балин

В версии которую я смотрю ТАКОГО НЕТ!!!

Качал с оф сайта примерно год назад.

Это плохо?

 

В старых версиях были какие нибудь уязвимости?

 

год назад были другие методы взлома и методы защиты, все стремится и развивается, в старых версиях много чего было сделано не очень грамотно, как и в любых системах...:)

Ссылка на сообщение
Поделиться на другие сайты

Вы код хоть смотрели?

 

В новой версии ничего не поменялось и зачем то появилась функция escape()

Ну и основной функционал переведен на mysqli

Но безопасность при этом так и осталась на прежнем уровне.

 

Все работает на библиотеке Котерова

http://dklab.ru/chicken/nablas/demo/placeholder/Placeholder.php

 

Не понимаю зачем нужно было стирать комментарии в коде?

И не понимаю можно ли этой библиотеке доверять?

 

Там в качестве экранирования используется addslashes()

 

Большинство интернет магазинов сделанных на симпле будут работать на старых драйверах mysql и никто переходить на новую версию не будет.

Так что вопрос безопасности остается актуальным.

Ссылка на сообщение
Поделиться на другие сайты

Вы код хоть смотрели?

 

В новой версии ничего не поменялось и зачем то появилась функция escape()

Ну и основной функционал переведен на mysqli

Но безопасность при этом так и осталась на прежнем уровне.

 

Все работает на библиотеке Котерова

http://dklab.ru/chicken/nablas/demo/placeholder/Placeholder.php

 

Не понимаю зачем нужно было стирать комментарии в коде?

И не понимаю можно ли этой библиотеке доверять?

 

Там в качестве экранирования используется addslashes()

 

Большинство интернет магазинов сделанных на симпле будут работать на старых драйверах mysql и никто переходить на новую версию не будет.

Так что вопрос безопасности остается актуальным.

1. - покажите мне хотя бы одну sql иньекцию

2. - почему не кто не вспомнил про Request.php ?

Ссылка на сообщение
Поделиться на другие сайты

1. - покажите мне хотя бы одну sql иньекцию

2. - почему не кто не вспомнил про Request.php ?

1. Это как раз мы и пытаемся выяснить

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

2. Потому что к теме этот файл никаким боком не относится

Ссылка на сообщение
Поделиться на другие сайты

1. Это как раз мы и пытаемся выяснить

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

2. Потому что к теме этот файл никаким боком не относится

Почитайте мат часть про SQL инъекции а потом тут пузырь раздувайте. 

 

Откуда приходят инъекции и за что отвечает Request.php

Ссылка на сообщение
Поделиться на другие сайты

Почитайте мат часть про SQL инъекции а потом тут пузырь раздувайте. 

 

Откуда приходят инъекции и за что отвечает Request.php

Иньекции происходят внедрением в код части sql запроса.

Читайте сами http://ru.wikipedia.org/wiki/%D0%92%D0%BD%D0%B5%D0%B4%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_SQL-%D0%BA%D0%BE%D0%B4%D0%B0

 

 

Request.php отвечает за присвоение $_GET $_POST значений внутренним переменным созданными магической функцией __get __set с возможностью проверки этих значение на типы (строка число), а так же подтирании двойных слешей.

Ссылка на сообщение
Поделиться на другие сайты

Для особых людей, которые не понимаю при чем здесь Request.php. 
Из Вашего же линка: 

 

 

Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.

еще есть примеры 
 

# Предыдущий код скрипта...
$id = $_REQUEST['id'];
$res = mysql_query("SELECT * FROM news WHERE id_news = $id");
# Следующий код скрипта...

$_REQUEST — Переменные HTTP-запроса или как еще называют суперглобальная пременная. 

То есть на месте $_REQUEST может быть и $_GET и $_POST и т.д.


Что Вам не нравится в фильтрации входящих данных в Request.php, есть и по типу фильтрация и от слешов избавляется 

Вам подавай защиту от sql иньекций при етом не одного конкретного примера иньекции не привели. 

Вроде себя 
позиционируете как мастера на все руки (Дизайн, Программирование, Верстка, Заказчик) а ведете себя как тот Корс. 

Сотую Вам нащупать с начало лозейку а потом бить в колокол.  


 

Ссылка на сообщение
Поделиться на другие сайты

Мне лазейки не нужны.

Симпла не бесплатный проект типа опенкарт.

И стоит не намного меньше чем 1с

Вы такой смешной )))) Если я Вам скажу что существующего механизма достаточно, Вы мне поверите ?

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...