이 기사는 주로 Java 인터뷰 질문에서 비교적 일반적인 질문과 SQL 주사를 판단하고 예방하는 문제를 연구합니다. 세부 사항은 다음과 같습니다.
SQL 주입은 현재 해커에게 가장 일반적으로 사용되는 공격 방법입니다. 그 원칙은 데이터베이스를 사용하여 특수 식별자를 구문 분석하여 페이지에서 배경으로 강제로 전달하는 것입니다. SQL 문 구조를 변경하고, 확장 권한을 달성하고, 고급 사용자를 생성하고, 사용자 정보 및 기타 작업을 강제로 수정하십시오.
SQL 주입 원칙을 통해 SQL 주입이 페이지를 통과 할 수 있다는 데이터를 판단하면 배경에서 배경에서 전달 된 데이터, 특히 특수 정수 매개 변수 및 특수 문자 매개 변수를 믿어서는 안된다는 것을 알고 있습니다!
1. 변수 데이터 유형과 형식을 확인하십시오
고정 형식의 변수 인 한 SQL 문이 실행되기 전에 변수가 예상 한 형식인지 확인하기 위해 고정 형식으로 엄격하게 확인해야합니다!
2. 필터 특수 기호
고정 형식으로 결정할 수없는 변수의 경우 특수 기호를 사용하여 처리하거나 전송해야합니다. SQL에는 모호성이 있습니다.
사진을 업로드 할 때
ENCTYPE =/”Multipart/Form-Data/”ENCTYPE =”Multipart/Form-Data”
"/"가 없으면, EncType = "multipart/form-data"는 양식의 MIME 인코딩을 설정하는 것을 의미합니다. 기본적 으로이 인코딩 형식은 Application/X-www-form-urlencoded이며 파일 업로드에는 사용할 수 없습니다. Multipart/Form-Data를 사용 하여만 파일 데이터를 완전히 전달하고 다음 작업을 수행 할 수 있습니다.
3. 변수를 바인딩하고 사전 컴파일 된 진술을 사용하십시오
실제로, 사전 컴파일 된 명령문을 사용하여 변수를 바인딩하는 것이 SQL 주입을 방지하는 가장 좋은 방법이며, 사전 컴파일 된 SQL 문을 사용하는 의미는 변경되지 않습니다. SQL 문에서 변수에 대한 물음표를 사용합니까? 그것은 해커의 능력이 아무리 유능하더라도 SQL 문의 형식을 변경할 수 없으며 SQL 주입 공격의 발생을 근본적으로 방지한다는 것을 의미합니다.
4. 데이터베이스 정보 암호화 보안
때로는 데이터베이스 정보가 유출되면 데이터베이스 비밀번호 및 기타 정보 (MD5 등)를 암호화하여 정보가 유출되고 특정 범위 내에서 손실을 제어 할 수 있도록해야합니다.
1. WebServer의 오류 표시를 요약하기 위해 프로덕션 환경을 열지 마십시오.
2. 사용자 측에서 가변 입력을 믿지 마십시오. 고정 된 형식의 변수를 엄격하게 점검해야합니다. 고정 형식이없는 변수는 필요한 필터링을 수행하고 따옴표와 같은 특수 문자를 탈출해야합니다.
3. 변수를 바인딩하는 사전 컴파일 된 SQL 문을 사용하십시오
4. 데이터베이스 계정 권한 관리에서 좋은 일을하십시오.
5. 사용자 기밀 정보를 엄격히 암호화하고 프로세스합니다
좋은 프로그램은 안전에주의를 기울여야합니다. 그렇지 않으면 연습에만 적합합니다.
위는 Java 인터뷰 질문 분석 및 SQL 주입 방지에 관한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!