uzumeti
@uzumeti

Безопасность при выполнении обработчика php?

Всем привет!

Осваиваю азы программирования.

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

Страница скажем, vvod.php с окошком и кнопкой подписаться. Запись в БД делаю с помощью обработчика на PHP, пусть он лежит в файлике obrbotka.php.

В процессе работы обработчика, данные из переменной переписываются в базу данных. И всё работает, табличка ведётся.

Но вот беда :)!

Файлик обработчика содержит всю информацию о доступе к моей базе данных.

Подскажите пожалуйста, это вообще нормальное явление, или я в виду своей неграмотности что-то важное упускаю из вида? Ведь файлик этот можно просто скачать с хоста по прямому адресу (который отображается прямо в строке браузера) и оттуда утянуть всю инфу про базу. Ну а там можно хулиганить как угодно :) Всё удалить например... Правда я потыкался, получить этот файл с полным текстом не смог :) Скачивается он с ответом для отрицательного результата заполнения (где выводится сообщение "вы неправильно ввели адрес почты").
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 4
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Все конфиги должны быть в отдельных файлах, а в идеальном в переменных окружения
Ответ написан
Комментировать
Softer
@Softer
Правда я потыкался, получить этот файл с полным текстом не смог :)


Вот и ответ. При верной настройке веб-сервера скачать исходник он не даст. Но в общем хорошей практикой считается роутинг всех запросов через один файл (обычно index.php) и выкладывание всего остального за пределы доступности из мира (вне document root, говоря терминологией апача).
Ответ написан
Комментировать
seganim
@seganim
PHP-программист, программный инженер
Автор, если Вы не выведете свои конфиги сами командой echo или ей подобной, знание прямого адреса обработчика ничего не даст злоумышленникам :)
Ответ написан
@fLipE
если вы все сделали верно, его никто не скачает :)
но лучше, как написали выше, смотреть уже в сторону MVC-фреймворка с одной точкой входа - index.php
Поставьте Laravel, например, посмотрите как он устроен, и все станет понятно)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы