Как защитить пароль пользователя в общедоступной среде - PullRequest
0 голосов
/ 29 апреля 2010

Как защитить имя пользователя и пароль базы данных в среде общего хостинга с помощью Spring

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
        <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
        <property name="url"><value>jdbc:mysql:///BUSINESS</value></property>
        <property name="username"><value>root</value></property>
        <property name="password"><value>password</value></property>            
    </bean>

1 Ответ

0 голосов
/ 29 апреля 2010

Я не знаю ни одного конкретного решения Spring для этого.

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

Приложение никогда не должно использовать корневой пароль MySql. Вы должны создать учетную запись MySql с ограниченными правами на конкретную схему (например, пользователь, который может выполнять только операторы DML, но не операторы DDL).

Чтобы исключить имя пользователя / пароль из простого текстового файла, вы можете жестко закодировать конфигурацию в классе Java (это в основном безопасность через неизвестность ). Замена конфигурации:

<bean id="dataSource"
    class="my.app.CustomDriverManagerDataSource" > 
  <property name="driverClassName">
      <value>com.mysql.jdbc.Driver</value>
  </property> 
</bean>

И добавьте этот класс в свой путь к классу

import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class CustomDriverManagerDataSource extends DriverManagerDataSource {

  public DriverManagerDataSource() {
    super("jdbc:mysql:///BUSINESS","root","password");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...