SQL 쿼리에서 잘못된 문자를 이스케이프 처리하는 오라클 기능이 있습니까? 다른 문자열에서 쿼리를 작성하는 코드가 있고 그 중 일부는 '
문자를 포함 할 수 있습니다.이 경우 SQL 쿼리가 중단됩니다.오라클 이스케이프 기능
답변
Yahia가 지적했듯이 항상은 동적으로 SQL 문을 어셈블하는 대신 바인드 변수를 사용해야합니다. 이것이 SQL 주입 공격으로부터 자신을 보호하는 적절한 방법입니다. 문자열을 이스케이프하면 보호 수준이 훨씬 낮아집니다.
즉, Oracle 10.1 이상을 사용한다고 가정 할 때 q 인용 구문을 사용할 수 있습니다.
1 select q'[This is a string with an embedded ']' str
2* from dual
SQL>/
STR
-----------------------------------
This is a string with an embedded '
같은 뭔가 당신은 다른 문자의 수는 문자열
1 select q'<This is a string with an embedded '>' str
2* from dual
SQL>/
STR
-----------------------------------
This is a string with an embedded '
SQL> ed
Wrote file afiedt.buf
1 select q'{This is a string with an embedded '}' str
2* from dual
SQL>/
STR
-----------------------------------
This is a string with an embedded '
와우, 멋진 기능 :) –
좋은 해결 방법이지만 문자열에'] '... 문자가 포함되면 실패합니다. –
@Vincent - 맞아요. 첫번째가 실패하면 a가 있고, 두 번째가 실패하면 a>가 있고, 세 번째가 실패하면 a}가 발생합니다. 문자열 자체에서 발생하지 않는 인클로저 문자를 선택해야합니다. –
문자열에서 쿼리를 작성하면 안됩니다. 대신 매개 변수를 사용하십시오. 그렇지 않으면 항상 누군가가 SQL을 주입 할 수있는 가능성이 있습니다.
+1 바인드 변수 –
두 따옴표 함께 작은 따옴표를 이스케이프에 나타날 수있는 어떤 문자에 따라 함께 [및] 문자를 대체 할 수 있습니다. 문자열에 '
대신 ''
을 사용하십시오.
- 1. 오라클 SQL 이스케이프 문자 (A의 '&')
- 2. 오라클 기간 기능
- 3. 오라클 기능 : Replicate wm_concat
- 4. H2 오라클 디코드 기능
- 5. 오라클 : 사용자 기능 목록 받기
- 6. 자바 스크립트 분할 기능 - 이스케이프 문자 사용?
- 7. SQL Server의 이스케이프 와일드 카드 (*) 기능 포함
- 8. 오라클 9i - Varchar2를 javascript에서 UTF-8로 이스케이프 변환 하시겠습니까?
- 9. 오라클
- 10. 오라클 :
- 11. 오라클
- 12. 오라클 :
- 13. 오라클
- 14. 오라클
- 15. 오라클
- 16. 사실상 오라클 DB 및 데이터웨어 하우스 기능 호스팅
- 17. 테이블은 오라클
- 18. 오라클 절차 대 오라클 패키지
- 19. 이스케이프 분음 부호
- 20. MonoTouch의 탈출구/탈출구 기능
- 21. 이스케이프 불가 문자가 이스케이프 처리되면 어떻게해야합니까?
- 22. SQL 이스케이프 ''
- 23. PHP로 이스케이프
- 24. 오라클 : 10g 오라클 클라이언트가 11g 서버에서 작동합니까?
- 25. 오라클 인덱스 (.NET 오라클 데이터 액세스 포함)
- 26. 오라클 프로그래밍 개체 정의 받기
- 27. 오라클 인라인보기
- 28. 오라클 버전
- 29. 오라클 - 테이블
- 30. 오라클 추적문
당신이 사용하는 언어를 언급하지 않는다면 ... – Yahia
흠, 나는 SQL 쿼리에서 액세스 할 수있는 함수도 pl/sql에서 액세스 할 수 있다고 생각하지만 중요하다면 : pl/sql –