PHP FORMS

beans_I·2023년 10월 14일

[23-2] 웹프로그래밍

목록 보기
8/13

HTML에서 form태그에서 데이터를 입력했을때 php에서 어떻게 다루는지 확인

예시

https://tryphp.w3schools.com/showphp.php?filename=demo_form_post

welcome php는 다음과 같다.

post변수의 "name" "email"을 각각 내준다.
이전 포스트와 동일하게 $_GET[]으로 써도 된다.
_REQUEST[]방식으로도 가져올 수 있다.

안전한 데이터가 들어갈까? -> Nope
단순하게 데이터를 처리하는거면 보안상 문제가 발생한다.

GET VS POST?
이것도 저번에 확인했다.
Key = Value (name ="")이런 식으로 배열 형태로 들어가서 각각 $_GET[]과 POST에 들어간다.

현재 실행되는 PHP 주소 : $_SEVER["PHP_SELF"] -> 즉 FORm태그를 받아서 나에게 다시 리턴

다시 보안 문제로 돌아가면,
get이든 post든 입력란에 스크립트를 넣은 것을 검증하지 않으면 죽는다. 그렇기에 스크립트 방지 함수를 정의해야한다.
htmlspecialchars($_SEVER["PHP_SELF"])

이런 공격을 Cross-site scripting이라고 한다.
https://tryphp.w3schools.com/showphp.php?filename=demo_form_validation_escapechar


struoslashes닽은 경우엔 "'"로 인한 excape를 방지하기 위해 사용한다.

(+ 빈 값의 validation화확인 )


-> 확인하기
https://tryphp.w3schools.com/showphp.php?filename=demo_form_validation_required

추가적인 검증

이름 preg_matchㅇ ㅢ정규식

이메일 php 자체 ㅏㅁㅅ 사용,

url은 preg_match를 사용한다.

예제로 보기 :https://tryphp.w3schools.com/showphp.php?filename=demo_form_validation_special

form radio 버튼 확인

profile
노션으로 옮겼습니다. https://beans-i.notion.site/main?pvs=74

0개의 댓글