Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Как защитить базу данных от вторжения


Автор: Рейкин 23.5.2005, 08:01
Обнаружил, что кто-то меняет данные в базе данных (игра, увеличивает кол-во "денег" или даже удаляет игроков).
Как это возможно и как от этого защититься?
Вопрос для меня серьёзный.

Спасибо


Автор: IZ@TOP 23.5.2005, 09:08
Рейкин, по всей видимост и в твоей системе нашли дыру и через нее производят SQL инъекции или управляют напрямую базой данных.
Тоже было когда -то и с combats.ru.

Защитится можно тщательно проверяя данные пришедшие от пользователя. Хотя возможно что дыры есть на хостинге.

Автор: Mal Hack 23.5.2005, 09:51
Цитата(IZ @ 23.5.2005, 10:08)
SQL инъекции

Вря дли.. Удаление встроить тяжело..
Тут либо дыру в скрипте нашли и выполняют любые запросы, либо к серверу разрешен коннект из вне.

Автор: Рейкин 23.5.2005, 10:01
Цитата(Mal @ 23.5.2005, 09:51)
Цитата(IZ @ 23.5.2005, 10:08)
SQL инъекции

Вря дли.. Удаление встроить тяжело..
Тут либо дыру в скрипте нашли и выполняют любые запросы, либо к серверу разрешен коннект из вне.

Признаюсь, что склоняюсь к тому, что пишут скрипт с использованеим файла аксесса к БД.
Отсюда вопрос, реально ли запретить доступ к файлу с аксессом для запресов не из моего домена?
Т.е. www.mysite.com/etotfile.php - примет и обработает запрос,
а с www.othersite.com/xakayu.php - не обработает?

Как это лучше реализовать?

Спасибо

Автор: Mal Hack 23.5.2005, 10:17
Через .htaccess. Было тут уже. Если не найдешь вечером найду. Щас времени нет.
Средства Access вроде не дают таких возможностей.

Автор: Opik 23.5.2005, 10:22
IZ@TOP
Цитата
Тоже было когда -то и с combats.ru

SQL? исключено.
Рейкин
проверь тщательнее скрипты.

Автор: Рейкин 23.5.2005, 12:07
Цитата(Mal @ 23.5.2005, 10:17)
Через .htaccess. Было тут уже. Если не найдешь вечером найду. Щас времени нет.
Средства Access вроде не дают таких возможностей.

поищу сейчас

Цитата
Opr. "проверь тщательнее скрипты."


может глупо звучит, а проверить на что именно?
Где может закрасться "дырка", простите за выражение?

спасибо

Автор: Mal Hack 23.5.2005, 12:36
Рейкин почитай статью Opr'a про include-баг. В прикрепленных темах форума PHP.

Автор: Рейкин 23.5.2005, 13:08
Mal Hack спасибо за ссылку, прочитав которую,

Opr отрыл мне на многое глаза smile

Т.е. предлагается вцелях безопастности везде включить функцию
Код

switch($_GET['page']){
Case 'aboutme':
    $filepath = 'lib/aboutme.php';
Break;
Case 'history':
    $filepath = 'other/history.php';
Break;
Default:
    $filepath = 'inc/news.php';
}
Include($filepath);

а важные файлы прописать на КАЖДОЙ странице вместо вставки их инклудом.

Тогда, конечно возникает проблема прописки каждого нового файла в switch-case. Мне кажется не опасным прописывать include'ом именно этот файл с переключением файлов, чтобы изменять при появлении новой страницы только один инклуд файл...

или я тут ошибаюсь и снова рискую напороться?

Автор: Opik 23.5.2005, 16:40
Рейкин
прочитай так же про SQL инъекции. не обязательно этот способ...там есть способ инклуда с регуляркой...
Цитата
а важные файлы прописать на КАЖДОЙ странице вместо вставки их инклудом.

думаю не стоит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)