방금 누군가가 '
의 성을 가지고 스크립트가 아무 것도 업데이트하지 않았기 때문에 발견했습니다. 어떤 성적인 피해자의 성을 안전하게 지키는 가장 좋은 방법은 무엇입니까?MySQL에 저장하기 전에 확인 및 스트리핑
답변
로직을 DB에 레코드를 삽입하기 위해 SQL을 포함하는 경우 준비된 문을 사용해야합니다. 제대로 당신을 위해 데이터 값을 탈출한다 무엇보다도 (만큼 당신이 일관되게 사용한다.)
당신은 어떤 종류의 준비된 진술을하고 있습니까? – Strawberry
준비된 성명서는 M. Petrotta가 위의 주석에서 언급 한 내용입니다. 다음은 PHP 용 PDO 추상화 레이어를 사용하는 경우 해당 설명서에 대한 링크입니다. http://php.net/manual/en/pdo.prepared-statements.php 데이터 값을 이스케이프하는 것 외에도 prepared statements가 더 효율적으로 사용될 수 있습니다 반복적으로 동일한 쿼리를 실행하는 경우 SQL에 코드를 직접 삽입하려면 일반적으로 코드를 사용하는 것이 좋습니다. –
@Doug SQL 삽입을 허용하지 않는 항목 (또는 '삽입시'중단) –
PHP는 mysql_real_escape_string이라는 함수를 가지고 있기 때문에 모든 잘못된 문자들을 위생해야합니다.
나는 downvote하고 싶었지만 아직 완전한 멤버는 아니다 :-) 함수가 도움이되지만 (mysql_escape_string, btw와 혼동하지 마라) 좋은 방어 프로그래밍을 권장하지 않는다. 이후의 데이터 조작으로 인해 발견하기가 매우 어려울 수 있습니다. –
@pst - 개인적으로, 나는 다른 방법의 보편적 인 우월성에 대해 물을 것이다. 나는 그것이 적절하게 구현되는 한 코딩 스타일에서 단순한 차이점을 발견했다. 그러나 다른 개발자와 함께 플레이해야하는 다중 개발자 환경에서는 준비된 문장이 더 보편적 인 솔루션이라는 사실을 받아들입니다. – SoosGjr
당신은 데이터베이스에 삽입하기 전에
print htmlentities("O'Brian",ENT_QUOTES);
를 사용해야합니다, 그것은
O'Brian
로 문자열을 변환합니다
이므로 데이터베이스에 저장하는 것이 안전합니다. 이 함수는 또한 큰 따옴표를 이스케이프합니다.
escaping string에 대한 자세한 정보
- 1. TextArea MySQL에 저장하기 전에 데이터 살균 처리
- 2. PHP로 MySQL에 심볼 저장하기
- 3. Twitter OAuth를 MySQL에 저장하기
- 4. MYSQL에 URL 값 저장하기
- 5. 저장하기 전에 비 블로킹 데이터 확인
- 6. MySQL에 번호 저장하기
- 7. mysql에 ecoded 정보 저장하기
- 8. MySQL에 부정적인 날짜를 저장하기 전에 고려해야 할 사항은 무엇입니까?
- 9. 데이터베이스에 저장하기 전에 데이터 수정
- 10. Symfony 1.4 저장하기 전에 데이터베이스 항목에 대한 양식 값 확인
- 11. "저장하기 전에"연결에서 콜백
- 12. 저장하기 전에 레코드가 있는지 확인하십시오.
- 13. 저장하기 전에 항목이 있는지 확인하십시오.
- 14. iOS에 저장하기 전에 이미지 회전
- 15. 저장하기 전에 배열에서 중복을 제거하십시오.
- 16. 고정 concurrencymode로 저장하기 전에 잠금
- 17. 저장하기 전에 수동으로 jQuery.validate 트리거
- 18. MySQL에 SQL 저장하기 : 텍스트로 삽입 하시겠습니까?
- 19. mySQL에 트위터 용으로 중요한 데이터 저장하기
- 20. mysql에 제출하기 전에 양식을 확인하십시오.
- 21. 저장하기 전에 plist에서 NSmutable 배열을 테스트하십시오.
- 22. 닫기 전에 확인
- 23. 장고에 저장하기 전에 마사지 모델 데이터
- 24. 레일을 사용하여 저장하기 전에 공간을 대시로 바꿉니다.
- 25. 레일에 저장하기 전에 입력을 정수로 변환하십시오.
- 26. 처리 전에 확인 작업!
- 27. 캔버스 제출 전에 확인
- 28. Doctrine 날짜 저장 무시/저장하기 전에
- 29. 특수 문자를 데이터베이스에 저장하기 전에 HTML 인코딩해야합니까?
- 30. 저장하기 전에 웹캠에서 비디오를 압축하는 방법이 있습니까?
http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php를 참조하십시오. SoosGjr이 언급 한 것처럼 SQL을 위생적으로 처리 할 수는 있지만, 링크에서 논의 된 이유 때문에 매개 변수화가 더 나은 방법으로 간주됩니다. –
당신은 질문을 추가하는 대신에 질문에 답해야합니다, 나는 당신에게 투표를하고 아마도 최선의 대답으로 선택할 수 있습니다 :) – Strawberry
나는 중복 대답을 쓰고 싶지 않다; 연결된 답변에 아무 것도 추가 할 수 없습니다. –