2013-07-29 00:00:00과 같이 날짜/시간 형식 형식에 따라 형식을 지정해야하는 문자열을 JS 스크립트에서 수신합니다.날짜/시간 문자열 입력에 대한 SQL 삽입 방지
물론 원시 MySQL 쿼리에 입력하기 전에 입력을 위생 처리해야합니다. php에서 그 형식을 위생 처리하는 가장 좋은 방법은 무엇입니까?
2013-07-29 00:00:00과 같이 날짜/시간 형식 형식에 따라 형식을 지정해야하는 문자열을 JS 스크립트에서 수신합니다.날짜/시간 문자열 입력에 대한 SQL 삽입 방지
물론 원시 MySQL 쿼리에 입력하기 전에 입력을 위생 처리해야합니다. php에서 그 형식을 위생 처리하는 가장 좋은 방법은 무엇입니까?
"최선"은 준비된 명령문을 사용하고 DB 어댑터가 값의 특수 문자를 이스케이프하도록합니다. 당신의 맛이 무엇이든간에
은 그 주제에 정말 중요하지 않습니다 :
knittl에 의해 제안, 정식 답변을 How can I prevent SQL injection in PHP? 참조하십시오.
최고는 PDO을 사용합니다.
그렇지 않으면 사용되지 않는 mysql_ * 함수를 사용하는 경우; mysql_real_escape_string()
이 당신이 찾고있는 것입니다.
정규식을 사용하여 입력 형식을 테스트하십시오.
DB에 가장 잘 삽입하려면 PDO이됩니다.
저는 개인적으로 정규 표현식을 만들고 각 날짜와 시간 구성 요소를 분해하여 실제로 PHP에서 좋은 날짜와 시간 (2013-25-19 12:72:883
이 아님)인지 확인합니다. checkdate()
을 사용하여 실제로 날짜인지 확인한 다음 예상되는 시간, 분, 초 범위를 기준으로 시간을 확인하십시오.
또한 PHP에서 PDO 확장을 사용하여 데이터베이스에 저장합니다.
** ** 위생 처리가 필요하지 않습니다 **, ** 탈출 **해야합니다. 또는 준비된 문장을 사용하십시오. – arnaud576875
[PHP에서 SQL 삽입을 방지하는 방법] (http://stackoverflow.com/q/60174/112968) – knittl