SQL 주입은 가장 일반적인 네트워크 공격 방법 중 하나입니다. 공격을 위해 운영 체제의 BUG를 사용하지 않고, 프로그래밍 중 프로그래머의 과실을 대상으로 하며, 계정 없이 로그인하거나 심지어 변조할 수도 있습니다. 데이터베이스와 함께.
Java 백그라운드에서 SQL 주입을 방지하는 방법:
1 SQL 주입을 처리하는 기능이 내장된 미리 컴파일된 명령문 세트를 사용하여 값을 전달하세요.
String sql= "select * from users where username=? and password=?; PreparedStatement preState = conn.prepareStatement(sql); preState.setString(1, userName); preState.setString(2, password); ResultSet rs = preState.executeQuery();
2. 작은따옴표('), 세미콜론(;) 및 주석 기호(--)가 포함된 문을 정규 표현식으로 대체하여 SQL 주입을 방지하세요
public static String SQL(String str) { return str.replaceAll(".*([';]+|(--)+).*", " "); } userName=SQL(userName); password=SQL(password); String sql="select * from users where username='"+userName+"' and password='"+password+"' " Statement sta = conn.createStatement(); ResultSet rs = sta.executeQuery(sql);
관련 권장 사항: "Java Tutorial"
위 내용은 Java에서 SQL 주입을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!