2010-12-08 2 views
0

이것은 바보 같은 질문 일 수 있지만 다소 혼란 스럽습니다. 사용자의 JSON 파일과 PHP의 json_decode를 가져 와서 MySql에 저장합니다. db로 삽입 할 때 필요하거나 불필요한 SQL 삽입에 대해 디코딩 된 데이터를 필터링/이스케이프 처리합니까? 또는 다른 방법으로해야 할 일이 있습니까?JSON 입력 필터링 필요 /하지 않음

답변

4

절대적으로 필요합니다. 사용자의 데이터를 신뢰하지 마십시오.

+0

json이 손상 될 수 있습니다. 내가 어떻게 이럴 수 있니? – opteronn

+0

json을 PHP로 디코딩하십시오. 그런 다음 데이터를 살균합니다. 그런 다음 필요에 따라 데이터베이스에 삽입하십시오. 삽입 위험을 줄이기 위해 데이터베이스 삽입을 처리하기 위해 라이브러리 나 프레임 워크 (SQL을 벗어남)를 사용하는 것이 좋습니다. – troynt

0

데이터를 입력하면 mysql_real_escape_string()을 사용하면 db가 주입 공격을받지 않습니다. 그러나, 그 json 문제를 해결하지 않습니다. 이를 위해 별도의 검증을 실행해야합니다.

+0

나는 그 기능을 알고 있지만 우리 둘 다 json 문제가있을 것이라고 말했다. 요점은 어떻게 우리가이 문제를 해결할 수 있느냐입니다 ... – opteronn

+0

실제 json에 대해 물어보기 위해 다시 게시해야 할 수도 있습니다. json에 관한 질문은 없습니다. 귀하의 게시물 부분에 물음표로 대답하고있었습니다 : ""DB에 삽입 할 때 * 필요하거나 불필요한 SQL 주입 *에 대해 디코딩 된 데이터를 필터링/이스케이프하고 있습니까? "(강조 표시됨) – zanlok