2011-11-08 2 views
2

오류 발생시 게시 된 양식 데이터를 PHP를 통해 다시 채울 수 있습니까? 연락처 양식이 있는데 사용자가 정보를 입력하고 한 필드의 유효성을 검사하지 않으면 모든 정보가 손실됩니다. 어떻게 이런 일이 일어나지 않게하고 안전하게 할 수 있습니까?게시 된 양식 데이터를 PHP를 통해 안전하게 다시 채우십시오.

나는이 시도하지만, 나는 그것이 안전하지 선가 생각했습니다

<input type="text" name="name" value="<?php echo $_POST['name']; ?>" /> 

답변

5

하나의 문제는 그 $_POST['name']는 밖으로 "를, 값 수 '탈출'가 포함되어 있고 페이지 컨텐트를 다시하는 경우 .

엄격한 오류 검사를 사용하면 존재하지 않는 배열 색인에 액세스하면 Notice 오류가 발생합니다.

<input type="text" name="name" value="<?php echo isset($_POST['name']) ? htmlspecialchars($_POST['name']) : ''; ?>" /> 

개인적으로 젠드 프레임 워크 내에서 Zend_Form처럼 프레임 워크를 통해 형태로 디스플레이 및 검증을 처리하는 것이 좋습니다 :

여기에 다시 작성 양식 데이터의 한 안전한 방법입니다. (양식을 사용하기 위해 다른 모든 것을 변경할 필요는 없습니다.) 안전하고 읽기 쉬운 코드를 훨씬 쉽게 작성할 수 있습니다.

관련 문제