반응형

PHP


- 일반 변수, 슈펴 글로벌 변수


 * PHP는 버젼에 민감합니다




- 배열



배열 만드는 법 


$arr = array(10,20,30,40,50);


한번에 배열 보는 법


print_r($arr);


ex)





1. 연관 배열


 -파이썬의 Dict 타입과 유사한 형태입니다



2. 멀티 배열 


 -배열 안에 배열을 만들 수 있습니다



연관 배열 & 멀티 배열 


ex)





- foreach 문


파이썬의 for each문과 유사합니다




*key 값도 따로 뽑아 올 수가 있습니다



- 함수


기본 구조


<?php

function foo($arg_1$arg_2/* ..., */ $arg_n)
{
    echo "예제 함수.\n";
    return $retval;
}
?>



WEB 2.0의 핵심

 

 - 입력 값 전달(client에서 server로)



데이터를 서버로 전달 할 수 있는 방법


1.HTTP 에서 조회할 수 있는 메서드를 이용하는 방법


 1). GET


   - 메세지 바디가 없다


   - 메세지 헤더를 통해서만 전달이 가능


   - 리퀘스트 라인의 URI 필드를 통해서 전달


   - 전달하려는 데이터의 크기가 한정적이다.


   - 헤더의 크기를 넘어갈 수는 없다.


   - 전달하려는 데이터가 외부에 노출(보안상 취약)

 

   - URI/info.php?변수=값&변수=값&변수=값.



*get으로 통신하는거 확인하기


<?php

print_r($_GET);

?>


- POST에는 당연히 아무것도 안들어져 있습니다(get방식이 때문에)


- REQUEST라는 변수에도 들어 있습니다



vi /etc/php/ini 설정파일에서 693번줄 register_globals= On으로 바꾸면 모든 변수를 슈퍼 글로벌 변수화 시킵니다.


** 외부에서 받아오는 변수도 슈퍼 글로벌화가 가능하기 때문에 보안상 위험합니다


ex)





 2). POST

 

   - 메세지 바디가 있다. 


   - 전달하려는 데이터의 크기의 제한이 없다.


   - 전달하려는 데이터가 외부에 쉽게 노출되지 않는다


   - 반드시 form 태그가 있어야만 한다.


   - form은 웹 브라우저에서 사용자로부터 입력을 받기 위한 필드


*form 태그 예시



* name 속성을 이용하면 값을 전달 할 수 있게됩니다




이제 무슨 방식으로 보낼지와 어디로 보낼지만 정해서 코드를 짜주시면 됩니다


저는 POST방식과 get.php로 보내는 코드를 짰습니다



send를 누르면 get.php에 잘 전달 되는 걸 알 수 있습니다.



2. 쿠키를 이용한 전달


 - 사용자 인증시에 사용



웹인증


  - HTTP도 TCP 통신을 한다.


  - 웹은 세션을 임의로 해제한다.


!TCP 통신을 하는 어플리케이션의 인증은 TCP세션이 종료되기 전까지는 유효


1. 쿠키를 이용한 인증


쿠키 : 인증을 통과하면 서버가 클라이언트한테 주는것 (인증 토큰)

쿠키는 documnet 객체가 관리합니다.



이런 식으로 쿠키값을 볼 수가 있습니다.


그래서 쿠키변조도 가능합니다


2. 세션을 이용한 인증





로그인 페이지 구현


로그인을 하면 창이 없어지는 거 까지 구현했습니다





로그인을 누르면 없어지는 걸 확인할 수 있습니다


내일 계속 이어가도록 하겠습니다


읽어주셔서 감사합니다






php의 더 자세한 내용은 


http://docs.php.net/manual/kr/ 에서 찾아보시면 됩니다


반복문 ,연산자 ,class 등등 문법은 자바스크립트와 파이썬과 비슷한걸 보실 수 있습니다.




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

[WEB SECURITY]8 MYSQL  (0) 2017.08.21
[WEB SECURITY]7. PHP 2  (0) 2017.08.18
[WEB SECURITY]5.Javascript 2 와 PHP  (0) 2017.08.16
[WEB SECURITY]4.Javascript  (0) 2017.08.14
[WEB SECURITY]3.HTML와 JAVASCRIPT  (0) 2017.08.11
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기