is_numeric은 SQL injection 공격을 막을만큼 충분히 안전하다고 가정 할 수 있습니까? 또는 is_numeric을 통해 전달할 수있는 SQL 삽입 메소드가 있습니까?은 SQL 주입이 is_numeric 함수를 통해 가능합니까?
답변
가 제공 단지를 수행합니다 : 당신이 is_numeric
기능의 오버 헤드를 피할 수
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
이 방법. 두 방법 모두 주입을 피하기에 충분합니다 (is_numeric
이 FALSE를 반환하면 데이터에 대해 작업하는 한). 삼항 연산자는 또한 문제의 $ _GET 변수가 존재하지 않으면 E_NOTICE를 얻지 못하도록합니다.
함수 호출의 오버 헤드가 삼항 연산자와 얼마나 비교되는지 설명 할 수 있습니까? – KingCrunch
@KingCrunch : 반드시이 방법을 사용하고 싶지는 않습니다. 입력을 확인할 기회가 없습니다. –
@KingCrunch 필자는 '오버 헤드'논쟁이 종교적 괴상한 전쟁을 시작할 수 있음을 알고 있지만, 불필요한 함수 호출을 피하는 것이 어떻게 나쁠 수 있는지를 보지 못했습니다. – rdlowrey
intval
또는 floatval
을 사용할 수 있습니다. 당신은 더 나은 것
아니요, 없습니다. 그러나 예를 들어 is_numeric('0xaf5') == true
을 상기시켜주세요. 따라서 달성하고자하는 바에 따라 충분하지 않을 수도 있습니다.
- 1. 동적 LINQ를 통해 주입이 가능합니까?
- 2. 방지 SQL 주입이
- 3. 은 PHP 함수를 통해 배열을 전달
- 4. 은 JSON 형식의 함수입니다 - 가능합니까?
- 5. 는 각각 is_numeric 조건 문제
- 6. "기능"은 기능이며 어떻게 가능합니까?
- 7. SQL을 통해 SQL 서버 테이블 함수를 작성하십시오.
- 8. SQL 쿼리를 통해 패키지에서 함수를 어떻게 호출합니까?
- 9. SQL 함수를 통해 속성 설정기를 보내는 방법
- 10. PDO 매뉴얼에 PDO에서 SQL 주입이 가능한 이유는 무엇입니까?
- 11. 자바 스크립트를 통해 가능합니까?
- 12. has_one : 다형성을 통해 가능합니까?
- 13. 은 또한을 통해
- 14. ResourceFilter에 종속성 주입이 작동하지 않습니까?
- 15. 단일 SQL 문 - 가능합니까?
- 16. 함수를 통해 이름없는 클래스 전달
- 17. Servelet에서 EJB 주입이 "주입 컨테이너를 통해 해결되지 않음"
- 18. 루프를 통해 컨트롤 추가 - 가능합니까?
- 19. 대문자 소문자 is_numeric ($ action) : 다른 방법으로 쓰여졌습니까? 나는 각각 is_numeric ($ 조치를) 쓸 수있는 경우
- 20. Excel 기반 테스팅은 셀레늄을 통해 가능합니까?
- 21. 는 SQL 쿼리와 함께이 가능합니까?
- 22. 은 로컬/LAN 서버에서 SVN 구성이 가능합니까?
- 23. 은 안드로이드 4.0.3에서 멀티 캐스트 프로그래밍이 가능합니까?
- 24. 은 여러 개의 하위 도메인이 가능합니까?
- 25. 은 ipv6과 ipv6 역 호환이 가능합니까?
- 26. 은 Java에서 계층 적 구조가 가능합니까?
- 27. 은 정의 함수는 함수를 해석
- 28. 은 파이썬에서 함수를 출력하고 있습니까?
- 29. 각각 is_numeric() 대 is_float() 대 is_int()
- 30. PHP 변수가 배열 함수를 결정합니다 .. 가능합니까?
아마도 안전 할 것입니다. 하지만 준비된 진술 (PDO)을 사용하지 않는 이유는 아닙니다. –