데이터베이스 테이블을 업데이트하려면 Java 프로그램에 명령문을 추가해야 합니다.
이것은 SQL 주입을 통해 악용될 수 있다고 들었습니다. 예:
내 프로그램에는 Java GUI가 있으며 모든 이름, 주소 및 이메일 값은 Jtextfields 检索。我想知道黑如何将以下代码(DROP TABLE customer;)에서 내 삽입 문에 추가되며 이를 방지할 수 있는 방법은 무엇입니까?
Jtextfields
DROP TABLE customer;
예:
이 값을 insert :
준비된 문과 SQL 매개변수 사용(Matt Fellows의 "훔치기" 예):
또한 해당 변수의 값을 구문 분석하고 허용되지 않는 문자(예: 이름에 ";")가 포함되어 있지 않은지 확인하세요.
PreparedStatement를 사용해야 합니다. 예를 들어
이렇게 하면 주입 공격을 방지할 수 있습니다.
해커가 삽입하는 방식은 삽입한 문자열이 웹 페이지의 입력 필드나 앱 양식의 입력 필드 등 어딘가의 입력에서 나오는 경우입니다.
예:
으아악이 값을 insert :
에 삽입합니다. 으아악준비된 문과 SQL 매개변수 사용(Matt Fellows의 "훔치기" 예):
으아악또한 해당 변수의 값을 구문 분석하고 허용되지 않는 문자(예: 이름에 ";")가 포함되어 있지 않은지 확인하세요.
PreparedStatement를 사용해야 합니다. 예를 들어
으아악이렇게 하면 주입 공격을 방지할 수 있습니다.
해커가 삽입하는 방식은 삽입한 문자열이 웹 페이지의 입력 필드나 앱 양식의 입력 필드 등 어딘가의 입력에서 나오는 경우입니다.