반응형

안녕하세요. Johncomputer 입니다.


이번에는 PHP 에서 기본적으로 Form에서 사용되는 POST / GET 방식입니다.


GET은 기본적으로 URL에 정보를 담아서 전송됩니다. 그래서 보안에 취약하게 되죠 

이런식으로 전송이 되기 때문에 무엇을 검색하는지 바로 알수 있죠.


POST방식은 HTTP헤더 속으로 감춰줘서 비밀번호 같은 개인정보등을 전송하는 방식에서 사용됩니다.



PHP에 간단한 예제를 보겠습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html>
<body>
 
<h2>HTML Forms</h2>
 
<form action="login_check.php" name="login_form" method="post">
  <label for="fname">ID:</label><br>
  <input type="text" id="id_val" name="id_val" placeholder="아이디"><br>
  <!-- input 박스 안 글자 넣기 = placeholder -->
  <label for="lname">Password:</label><br>
  <input type="password" id="pw_val" name="pw_val" placeholder="비밀번호"><br><br>
  <input type="button" value="로그인" onclick="check_input()">
</form>
<script type="text/javascript">
function check_input() {
    if (!document.login_form.id_val.value)
    // login_form 이름을 가진 form 안의 id_val 의 value가 없으면
    {
        alert("아이디를 입력하세요!");
        document.login_form.id_val.focus();
        // 화면 커서 이동
        return;
    }
    if (!document.login_form.pw_val.value)
    {
        alert("비밀번호를 입력하세요!");
        // 화면 커서 이동
        return;
    }
    document.login_form.submit();
    // 모두 확인 후 submit()
 }
</script>
</body>
</html>
cs

전송하게 되는 페이지 입니다. FORM 태그에 보시면 POST방식으로 login_check로 보내게 됩니다.




1
2
3
4
5
6
7
<?php
  $id_val = $_POST["id_val"];
  $pw_val = $_POST["pw_val"];
 
  print_r($id_val); // 화면에 값 보여주기
  print_r($pw_val);
?>
cs

받는 login_check.php 입니다. 보시는 것과 같이 받아서 print_r 함수로 출력하게 되면 post로 보낸 id와 패스워드를 확인하실수 있습니다.

GET도 마찬가지입니다. GET으로 보내고 받을 때 


1
2
3
4
5
6
7
<?php
  $id_val = $_GET["id_val"];
  $pw_val = $_GET["pw_val"];
 
  print_r($id_val); // 화면에 값 보여주기
  print_r($pw_val);
?>
cs

위와 같이 이용해주시면 똑같은 결과를 얻을 수 있습니다.


반응형