2012-06-12 7 views
0

Я запускаю сервер xampp и подключаюсь к базе данных mysql. Я пишу некоторые php для взаимодействия с базой данных. В основном база данных будет использоваться локально, поэтому тогда возникает проблема, если кто-то обратится к базе данных локально, они могут просто открыть файл php и найти информацию для входа в mysql. Есть ли способ защитить эту информацию? Могу ли я создать пользователя, который имеет доступ только для просмотра таблицы, а затем, когда someoene пытается изменить, я могу запросить еще один пароль?secure local mysql access

Я не уверен, что это имеет смысл, но по существу я не хочу, чтобы кто-то локально мог видеть пароль mysql, который хранится в mysql_connect(). Я также открыт для других решений для взаимодействия с mysql, но я достаточно ограничен для xampp-сервера, mysql и java.

Мысли?

ответ

1

Вам нужно как-то получить доступ к своим учетным данным. Если кто-то может получить доступ к вашим файлам PHP, тогда вам будет гораздо больше проблем с безопасностью. Существует немного больше, что вы можете сделать.

Я бы рекомендовал создать DSN и убедиться, что только авторизованные пользователи имеют доступ к этому DSN. Опять же, злоумышленник может легко редактировать ваши файлы PHP, чтобы получить доступ к БД.

+0

Право, поэтому, я думаю, мне было интересно, есть ли способ скомпилировать или зашифровать файл php. Или, если есть какой-то способ подключиться через что-то, а затем все еще взаимодействовать через веб-браузер? Спасибо за быстрый ответ! – SortingHat

+0

Шифрование не делает вам ничего хорошего, так как вам нужно будет расшифровать его для использования скриптом. Я пытаюсь объяснить, что независимо от того, что вы делаете, в конце концов, ваш сценарий по-прежнему должен подключаться к вашей базе данных, поэтому учетные данные должны быть известны. Поскольку вы предоставили людям доступ к вашим файлам, ситуация безнадежна. – Brad

+0

Хм, хорошо. Спасибо за ваш ответ! – SortingHat

0

Могу ли я создать пользователя, который имеет доступ только для просмотра таблицы, а затем, когда someoene пытается изменить, я могу запросить другой пароль?

Если вы разработали всю эту логику в своем веб-приложении, вы могли бы. Управляя пользователями в MySQL, вы можете создать два, один из которых имеет только «избранные» разрешения, а другой - более широкий набор разрешений.

Обнаружение необходимости запроса пароля для ввода пароля должно быть выполнено в вашем пользовательском коде, но впоследствии вы можете построить разные строки для mysql_connect().

В целом, хотя я должен согласиться с Брэдом - если у вас есть злоумышленники в ваших файлах PHP, у вас больше проблем.