php와 mysql을 사용하여 웹상의 데이터베이스로 코딩 할 때 데이터베이스에 삽입하기 전에 데이터를 위생 처리해야 누군가가 따옴표를 이스케이프하지 않도록 할 수 있습니다. 안드로이드와 MySQLite에서 필요합니까? 자동으로 위생 처리됩니까? 아니면 그냥 불필요한가요?데이터베이스 살균
답변
1) 예, 플랫폼에 상관없이 신뢰할 수없는 출처 (사용자, 다른 시스템, 다른 응용 프로그램 등 - 응용 프로그램에 하드 코드되지 않은 항목)에서 오는 모든 입력을 위생해야합니다.
2) 그렇습니다. SQLite 데이터베이스에 액세스 할 때 안드로이드에서이를 수행해야합니다 (직접 또는 컨텐츠 제공자를 통해 가능).
3) SQL 명령에서 데이터베이스에 사용하기 전에 입력 내용을 살균해야하지만 모든 형태의 SQL 주입을 막을 수는 없습니다. 이를 예방하는 최선의 전략은 매개 변수가있는 쿼리를 사용하는 것입니다. 매개 변수가있는 쿼리를 사용하면 데이터베이스의 의미와 명령을 구별 할 수 있으므로 잘못된 입력이 침입하여 SQL 명령이 데이터에 나타나더라도 , 데이터베이스는 데이터를 데이터로 간주합니다. 표준 Java 코딩에서는 PreparedStatements를 사용합니다. SQLite/Android에서는 데이터의 자리 표시 자 (신뢰할 수없는 입력에서 파생 된 것)로 쿼리를 만들고 bindString
을 사용하여 해당 자리 표시자를 설정해야합니다 (compileStatement
).
우수에 대한 자세한 내용 OWASP SQL Injection 글을 참고하십시오.
데이터를 살균하는 방법을 안내해 주시겠습니까? 답변에 따라 "_In SQLite/Android에서는 데이터에 대한 자리 표시 자 (신뢰할 수없는 입력에서 파생 된 것)로 쿼리를 작성하고 bindString을 사용하여 해당 자리 표시자를 설정해야합니다 ._"콘텐츠 공급자 메소드 delete(), query, update() 등? – Priya
인터넷을 비롯한 다른 곳에서도 마찬가지이므로 여기에도 똑같이 적용됩니다.
콘텐츠 공급자에 대한 귀하의 의견을 정말로주의해야합니다. 사람들은 일반적으로 콘텐츠 제공 업체를 작성한 다음 다른 사용자가 자신의 앱과 상호 작용할 수 있도록 허용합니다. 그러나 일반적으로 ContentProvider는 데이터베이스에 대한 인터페이스 역할을합니다. 특히 휴대 전화의 다른 앱에서 앱 콘텐츠 제공 업체에 액세스하도록 허용하는 경우주의해야합니다.
그리고 예, 사용자가 데이터를 입력 할 수있는 곳이면 어디든 조심해야합니다. 여기에는 편집 가능한 텍스트 필드, 인터넷에서 다운로드 한 것, 기본적으로 신뢰할 수없는 것 등이 포함됩니다.
오염 분석 TaintDroid를 수행하는 프로젝트가 있지만 시스템 양식으로 만 존재합니다 (즉 모든 시스템에서 사용할 수없는 런타임 수정을 기반으로 작동). 그러나 현재 어떤 문제가 발생하지 않도록 데이터가 어디로 이동하는지 추적하는 연구 프로젝트가 진행 중입니다. (Scandroid [1] 몇 가지 중 하나의 이름을 지정합니다.)
[1] SCanDroid : 안드로이드 애플리케이션의 자동화 된 보안 인증, www.cs.umd.edu/~avik/papers/scandroidascaa.pdf
- 1. 정수 데이터베이스 입력 살균
- 2. 이미지 살균 라이브러리
- 3. 레일 - : 조잡한 살균/대용
- 4. 젠드 살균 입력
- 5. .htaccess : 쿼리 문자열 살균
- 6. PHP 살균 입력
- 7. 레일에서 출력을 살균 처리
- 8. 는 살균() 오류
- 9. .Net DbCommand 살균 입력
- 10. wordpress에서 인라인 링크를 살균 하시겠습니까?
- 11. 코드 블로그의 입력을 살균 처리합니다.
- 12. FILTER_SANITIZE_STRING을 사용하여 입력을 살균 처리하십시오.
- 13. PHP에서 CSS 살균 - 루비 대안?
- 14. 레일 : 컨트롤러 내에서의 살균 입력
- 15. MySQL 사용자 매개 변수 살균
- 16. Apache에서 GET 쿼리를 살균 처리하십시오.
- 17. PHP 보안 - 살균 및 청소
- 18. MySQL 테이블의 양식 데이터 살균
- 19. 레일 - 내용 출력, 살균 또는 <% = h?
- 20. 컨트롤러에 대한 살균 기능과 같은 것이 있습니까?
- 21. 요청 [ "__ EVENTTARGET"] 호출 페이지 수명주기 살균
- 22. 동적 SQL 쿼리에 대한 검색 문자열 살균
- 23. TextArea MySQL에 저장하기 전에 데이터 살균 처리
- 24. 루프를 사용하여 GET/POST를 살균 하시겠습니까?
- 25. 정수를 살균 할 때 intval & real_escape_string 사용
- 26. 처리기에서 HTML :: Mason 인수를 살균 하시겠습니까?
- 27. C# : XML 텍스트 값을 XmlTextWriter로 살균 하시겠습니까?
- 28. ORDER BY 필드가 살균 된 PHP PDO 문제
- 29. 레일에서 입력 XSS 및 HTML 입력을 살균 처리합니다.
- 30. 실버 라이트가 XBAPS를 교체 또는 살균 한 적이 있습니까?
FYI, 단어는 sanitize – xbonez
하하, 예, 미안합니다. 단어 위층에 출격하다 :) – bwoogie
ㅎ, 나는 "DROP DATABASE;" : D –