Есть у нас php скрипт, который обращается к mysql БД. Если мы впишем в скрипт, условно говоря, root mysqlя, то можем ли мы рассчитывать на безопасность действий (адекватность и однозначность написанных операций) с БД? Можем ли мы рассчитывать на безопасное хранение пароля в пхп-скрипте?
1) Лучше создать еще одного пользователя в базе mysql и урезать ему права.. -
2) Все поключения к базе из php осуществлять через так называемые конфигурационные файлы. Отсюдова подробнее.
Итак для доступа в mysql через php создаем файлы дополнительные (конфигурационные) файлы setup.php & config.php
часто приходится хранить всякие везде-используемые данные/функции в отдельных файлах, и потом подключать, используя include[_once]/require[_once].
но эти файлы обычно не парсятся сервером, т.е. их можно смотреть через браузер, этого мы и хотим избежать. давать таким файлам расширение .php не очень правильно, т.к. их можно вызвать через браузер, и, хотя мы и не увидим содержимое, но, наверняка, у нас начнут вылазить какие-либо ошибки php, т.к. код внутри файлов обычно расчитан на исполнеие в определенном окружении(наличие коннекта к базе/чтение файлов/определенные значения констант/переменных).
есть 2 выхода по сути похожих 1. поместить все .inc файлы за пределами document_root apache 2. написать .htaccess чтобы запретить доступ ко всем файлам с определенными расширениями
Пример.
<filesmatch .(incsql...другие расширения...)$> order deny,allow # запретить доступ отовсюду deny from all #разрешить доступ с вашего ip(если он у вас, конечно, статический) allow from <ваш ip> </filesmatch>