나는 php에서 sqlite로 들어가는 입력을 살균하는 방법을 찾아 내려고하고있다. 나는 mysql을 사용할 수 없다. 단순히 sqlite_escape_string을 사용하는 것만으로 충분합니까? 아니면 다른 것을해야합니까? 또한 sqlite2 만 사용할 수 있습니다.mysql없이 PHP 입력을 살균하는 방법
답변
가 가지 방법이 있습니다,하지만 당신의 입력의 목표에 따라, 더 잘 이해하기 위해이 질문을 참조하십시오 : What's the best method for sanitizing user input with PHP?
sqlite_escape_string()
모든 사용자가 입력 문자열을 필요로 소독해야한다. 출력하는 경우 HTML로 출력하는 경우에는 출력하기 전에 htmlspecialcharts()
을 사용하십시오.
SQLite는 sqlite_escape_string()
을 제공합니다. PHP 5에서만 사용할 수 있습니다.
그러나이 방법을 사용하면 주사에서 벗어날 수는 없습니다. 필수적인 조치는 입니다. 항상이 사용자 제공 입력의 유효성을 검사합니다. 메소드에 적용하기 전에 의존해야하지만, 실제로 작성하지 않았습니다.
SQL 삽입을 피하는 가장 좋은 방법은 매개 변수 쿼리를 사용하는 것입니다. 은 문자열 연결 또는 변수 보간으로 수동으로 SQL 문을 수동으로 어셈블하지 않습니다.
PHP 5 이상에서는 PDO를 사용할 수 있습니다. PDO는 SQLite 및 매개 변수 쿼리를 지원하는 다중 데이터베이스 추상화 계층입니다.
이스케이프 기능은 SQL 사투리가 사용하는 특수 문자 (주로 따옴표)가 이스케이프 처리되도록하여 삽입/업데이트 등의 작업을합니다. 모든 sqlite_escape_string은 작은 따옴표를 이스케이프 처리합니다.
그런 다음 누군가가 SQL 주입을 할 수 있다는 상당한 우려가 있습니다. v2를 사용하기 때문에 prepare 및 _bind() 함수를 사용할 수 없습니다.
SQLite를 사용하면 ';'로 구분 된 명령을 연결할 수 있습니다. 그래서 거기에 문제가 있습니다. 필자가 작성한 헬퍼 함수 나 sprintf를 사용하여 매개 변수를 신중하게 작성하고 int, float 및 string을 적절하게 입력하는지 확인하는 것이 좋습니다.
조심하고 싶은 항목을 "이스케이프"하는 고유 한 이스케이프 기능을 만들 수 있어야합니다 ... 가장 구체적인 것은 세미콜론을 사용하는 것입니다 ... ESCAPE 쿼리가 끝날 때 '\' 역 슬래시를 이스케이프 문자로 사용합니다.
그런 다음 누군가가 의도적으로 악성 콘텐츠 (XSS)를 삽입하는 문제가 있습니다. Grigor는 문자열에 htmlentities()를 사용하는 하나의 솔루션을 제공했습니다.
- 1. 메일 링하기 전에 PHP에서 사용자 입력을 살균하는 방법?
- 2. PHP 및 sqlsrv 드라이버로 입력을 살균하는 방법은 무엇입니까?
- 3. PHP/MYSQL : 사용자 입력을 살균하는 것은 좋지 않은 생각입니까?
- 4. 레일, find_by_sql에서 SQL을 살균하는 방법
- 5. 레일에서 JSON을 살균하는 가장 좋은 방법
- 6. MySQL없이 설정 저장하기
- 7. mb_convert_encoding을 호출하여 텍스트를 살균하는 이유는 무엇입니까?
- 8. Wordpress를 사용하면 입력을 살균하는 가장 좋은 방법을 말해 줄 수 있습니까?
- 9. 어떻게 워드 프레스에서 입력을 살균합니까
- 10. 영숫자 입력을 처리하는 RegEx - PHP
- 11. 사용자 입력을 제어하는 방법
- 12. sys.stdin.readlines() 입력을 완료하는 방법?
- 13. 입력을 지연하는 방법
- 14. 그루비에서 입력을 마스크하는 방법
- 15. C에서 입력을 제한하는 방법
- 16. 비밀번호 입력을 만드는 방법
- 17. PHP Exec 명령 - 일련의 질문에 대한 입력을 전달하는 방법
- 18. 배열 입력을 위해 MySQL에 데이터를 저장하는 방법
- 19. Python에서 데이터를 살균하는 대규모 임시 데이터베이스
- 20. PHP MySQL 중복 입력을 확인 하시겠습니까?
- 21. PHP 폼에서 파일 입력을 무시하는 방법은 무엇입니까?
- 22. php - 양식 입력을 기반으로 사용자를 어떻게 리디렉션합니까?
- 23. jQuery (/ PHP)로 입력을 동적으로 처리한다.
- 24. PHP : mysql_real_escape_string은 사용자 입력을 청소하기에 충분합니까?
- 25. iPhone에서 사용자 입력을 얻는 방법
- 26. 소프트 키보드 입력을 잡는 방법
- 27. UITextField에 값 입력을 중지하는 방법
- 28. 자일링스에서 클럭 입력을 정의하는 방법
- 29. System.Windows.Controls.TextBox 입력을 스트림으로 리디렉션하는 방법?
- 30. 사용자 입력을 저장하고 사용하는 방법
http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – DrDol