2012-10-09 4 views
0

어쨌든, Prototype의 Form.serialize()을 사용하여 복잡한 양식을 제출할 때, 나는 항상 모든 경우에 이것이 작동하는지 여부를 조금은 확신하지 못합니다.프로토 타입을 사용하는 것이 얼마나 안전합니까? Form.serialize()?

가능한 문제 나는 프로세스를 엉망으로 만들 수있는 인용문/문자열 이스케이프 문제 또는 비정상적인 문자 코드 제출 문제가 있습니다.

그래서 질문은 :

프로토 타입 사용하여 양식에서 모든 데이터를 수집하고 AJAX를 통해 서버로 전송하거나 알려진 어떤 브라우저가 할 (클라이언트 측에서) 그것은 안전한가요 이런 식으로 양식을 보내는 데 문제가 있습니다.   - 아니면 지원이 부족합니까?

+5

을 누군가가 나에게 설명 할 수 있다면 내 질문하는 이유 그것을 downvoted 그것은 내가 그것에 대해 너무 잘못 이해하는 데 도움이 될 것입니다. 나는 미래에 지역 사회에 맞지 않는 질문을하지 않을 수 있습니다. 고맙습니다. – SquareCat

+1

나는 downvoter 아니지만 귀하의 질문은 분명하지 않다. 나는 당신이 지금 무엇을 요구하고 있는지 모른다. –

+0

나는 이해한다. 나는 그것을 향상 시키려고 노력할 것이다. – SquareCat

답변

1

양식을 제출하기 위해 내부적으로 자바 스크립트를 사용하는 브라우저가 없지만 양식의 제출 방법에 대한 자세한 내용은 에 정확하게 기록되어 있습니다.

정확하게 프로토콜을 따르는 Javascript에서 양식 제출 코드를 작성할 수 있습니다. 반면, 숙련 된 코더는 비활성화 된 체크 박스 컨트롤과 같은 일부 경우를 놓칠 수 있습니다.

한번도 사용한 적이 없기 때문에 prototype 라이브러리에 대해 말할 수는 없지만 제대로 제출하지 않은 양식 또는 제출 된 양식을 사용하지 않는 서버가있는 경우 제출해야합니다. 버그 신고.

+0

모든 대답은 의미 있고 유익합니다. 가능한 문제 (확인란 사용 안 함 컨트롤 사용 안 함)에 대한 또 다른 예를 제공 했으므로 선택 했으므로 Prototype에서 수년 동안 진행중인 활성 사용 테스트 중에 표시되는 버그가 있음을 분명히 밝혀서 사례를 해결했습니다 지금까지. – SquareCat

1

나는 왜 당신이 원래 downvoted되었는지 확실하지 않다, 그것은 유효한 질문이다.

실제 응답은 보안 측면이 실제로 백엔드에서 발생한다고 생각합니다. 전체 양식을 일련 번호로 보내고 요청을 통해 보내면되지만 다른 쪽에서받은 정보의 유효성을 검사해야합니다.

예를 들어, 당신이 (다른 언어의 상당 이상) 싶지 않아 : 이 ($form 가정 직렬화 된 형식입니다)

foreach ($form as $key => $value) { 
    $object->$key = $value; 
} 

save($object); 
+0

입력 해 주셔서 감사합니다. 처음에는 저의 질문은 모든 도서관을 대상으로 한 것이 었습니다. 또한 특정 질문 대신 일련의 질문이었습니다. – SquareCat

관련 문제