У меня проблема с моим кодом Java. Мой преподаватель в университете попросил меня использовать «kiuwan», как онлайн-кода оценщиком, и он нашел эту проблему на моем коде:[Java] [SQL] Hardcoded имя пользователя и пароль по запросу
HARDCODED учетные данные (имя пользователя/пароль), которые видны любому человеку чтение исходного кода. Если ресурс, защищенный такими жестко запрограммированными учетными данными, важен, это может поставить под угрозу безопасность системы. С жестко запрограммированными учетными данными изменение затруднено. Если целевая учетная запись скомпрометирована, а программное обеспечение развернуто на производстве, требуется изменение кода, что вынуждает перераспределить. Обратите внимание, что доступ к исходному коду не всегда необходим: если злоумышленник имеет доступ к файлу JAR, он может удалить его, чтобы восстановить пароль в ясном состоянии.
И он нашел эту проблему на моем 3 querys:
public static final String CHECK_USER = "SELECT nome FROM utenti WHERE nome=? AND password=?";
public static final String INSERT_USER = "INSERT INTO utenti (nome, password) VALUES (?, ?)";
public static final String CHECK_USER_NAME = "SELECT nome FROM utenti WHERE nome=?";
Как я могу это исправить? Я сделал их таким образом (собираю информацию из текстовых полей), чтобы сделать логин и проверить базу данных.
Спасибо всем!
На самом деле ваш учитель не упоминает о том, как структурированы ваши SQL-запросы, что он или она упоминает о ваших учетных данных подключения, скорее всего, вы использовали жесткое соединение с явным именем пользователя и паролем, это называется плохой практикой выбор кодирования. Пример, подобный вашему, может быть http://stackoverflow.com/questions/11634379/username-password-etc-hardcoded-into-program-how-to-pick-them-up-from-a-file – Hayra
Проверьте это: http://stackoverflow.com/questions/12937641/handling-passwords-used-for-auth-in-source-code –