2012-04-29 5 views
2

번들 된 Doctrine ORM 솔루션과 함께 Symfony2 버전 2.0.5를 사용하고 있습니다. dev에서 prod로 환경을 변경했기 때문에 데이터베이스에 유지 될 때 모든 양식 입력이 이스케이프됩니다. 이제 이것이 SQL 주입 방지를위한 올바른 동작이지만 데이터를 다시 가져올 때 문자열이 이스케이프 처리되지 않았 음을 알았습니다. JSON 문자열을 데이터베이스에 직접 저장하기 때문에 이것이 큰 문제가되고 있습니다. 또한이 데이터를 업데이트 할 때마다 문자열이 반복적으로 이스케이프 처리됩니다. 내 질문은 특정 필드에 대한 이스케이프 기능을 비활성화 할 수 있습니까? 또는 DB에서 가져올 때 값을 이스케이프 처리 할 수 ​​있습니까? 그리고 왜 이런 일이 생기지 않는 환경에서만 일어나는 것입니까? 이것은 의도 된 것입니까?Symfony2 - 입력 필드의 독트린 autoescaping

David, 최고 감사합니다.

답변

1

이것은 아마도 Symfony 나 Doctrine이 아닌 PHP 구성 때문일 수 있습니다. php.ini에서 magic_quotes_으로 시작하는 모든 옵션을 찾아 Off으로 설정하십시오. 서버를 다시 시작하는 것을 잊지 마십시오.

+0

답장을 보내 주셔서 감사합니다. 나는 마법의 따옴표에 대해 읽고 php.ini를 확인했지만, 모두 끝났습니다. 나는 심포니 또는 교리 문제가 아니라고 지금 믿습니다. 다른 가능성이 있습니까? 어쩌면 잘못된 문자 인코딩일까요? 우리는 실제로 응용 프로그램을 다른 서버로 옮겼습니다. 그러나 데이터베이스 구성은 동일합니다. – marmeblade

+0

방금 ​​게시물 데이터를 보았습니다. 그리고 이스케이프가 일어나서 마법의 따옴표가 나와야합니다. 그러나 그들은 활성화되지 않았습니다. 마술 따옴표를 제외하고이 일을하는 다른 기계공이 있습니까? – marmeblade

+0

Ok 마법의 따옴표가 활성화되어 있는지 테스트했습니다. 도와 줘서 고마워, 엘 누어. 이제는 그들이 활성화 된 곳을 찾아야합니다. 그들은 php.ini에서 활성화되어 있지 않습니다. 다른 가능성이 있습니까? – marmeblade

관련 문제