1. 미리 지정된 변수



-super globals

$_GET :   GET 방식으로 보낸 데이터가 담겨 있다.(보안 취약)

$_POST : POST 방식으로 보낸 데이터가 담겨 있다.


-사용자 인증

$_COOKIE

$_SESSION



2. GET 방식으로 데이터를 보내는 방법

-URL을 통해 전달 -> 데이터의 크기도 제한

 

-url에 ?을 붙이고 그 다음에 값을 입력하면 들어간다.


- 정보가 쉽게 공개 되게 때문에 보안에 취약






이런식으로 정보가 외부에 들어나기 때문에 엄청나게 취약하다.


!! 일반 변수를 슈퍼 그로벌 변수처럼 (693줄)

/etc/php.ini


-register_globals = off   // 사용하지 않는게 좋다.


데이터가 전달됬는지 확인하기 


isset :bool값과 값이 있다면 string까지 알려줌.



데이터를 입력하지 않았을 때 




데이터를 입력했을 때





데이터를 입력하지 않았을 때 웹페이지와 소스코드



데이터를 입력했을 때의 웹페이지와 소스코드




(PHP의 특징)

위의 결과를 보면 내가 입력하는 값에 따라 페이지 소스 또한 달라진다는 것을 알 수 있다.




3. POST 방식으로 데이터를 보내는 방법

-form 태그를사용해서만 전달이 가능

- 헤더가 아닌 메세지 바디를 통해 전달


form의 주요 속성


- action

- method=GET | POST


기본구조

value를 넣으면 그 값을 넣을 수 있다.


placeholder를 이용하면 




이런식으로 옅하게 뜬다.




POST와 GET의 차이

-POST는 url에 보이지 않는다.



GET




POST





data.php




데이터를 전송하면


data.php 파일에서 데이터를 받아 출력하게 해준다 (POST방식이라 url에 보이지 않는다.)


실습


값이 있으면 값을 출력하고 값이 없으면 form을 출력하게 한다.



<!doctype html>


<html>

<head></head>


<body>


<?php

if(isset($_POST[age]) && isset($_POST[name]) && $_POST[age]!=='' && $_POST[name] !==''  ) {



  echo "<p> name: $_POST[name] </p>";

  echo "<p> age: $_POST[age] </p>";

}

else

{

?>


     <form action=POST.php method=POST >


      <input type=text name=name >

      <input type=text name=age >

      <input type=submit >

        </form>

<?php

}


?>

</body>

</html>

                       









'Web Security' 카테고리의 다른 글

Cookie와 session  (0) 2018.02.26
아파치 웹 서버 인증 과 DB  (0) 2018.02.21
CGI(PHP)  (0) 2018.02.19
키입력 받아서 화면에 출력  (0) 2018.02.14
웹의이해 (JavaScript)  (0) 2018.02.12

+ Recent posts