티스토리 뷰

▶ 앞부분 내용 

 - HTML, Javascript(document (dom/bom))
 - DOM&BOM
  -document ->제일 많이 씀 
  -history
  -window


>> https://www.codecademy.com/ 참고 사이트

  



1) WEB 2.0 : CGI 
 CGI : 서버에서 실행하고 결과만 받음 (소스를 받을 수 없음)
 >> 보이지 않기 때문에 취약점은 추측만 가능  

 - CGI : PHP 를 이용한 프로그래밍


!! 데이터의 전달(입/출력)
 공격이란?
  - 비정상적인 입력값 (의도하지 않은 결과를 나타나게 하는 것)
 - 입력을 하면 입력한 값이 서버로 가고 출력한 값을 서버로 받아옴(네트워크를 이용해서 통신을 한다)


▶ GET , POST 두가지 방법이 있음  

 
HTTP
F12 => 네트워크 -> GET 확인 (캡쳐)
통신과 연결
 - 눈에 보이지 않지만 해당되는 것을 추상할 수 있어야 함


[ 웹 어플리케이션 ]
  - CGI 프로그램
  - PHP로 만들어진 프로그램


  >> 참조 사이트: www.php.net


php 설치 ]


 - 인터프리터 설치
 - 서버에서 실행되므로 실행기를 설치해야한다
  (javascript 는 웹브라우저가 실행기)
 - 컴파일 할 필요가 없음
 - 인터프리터 언어 - python과 같음
 - 버전마다 사용이 다름 
 
 # yum install php.i686
 >확장자
  .php
 
 1) 출력하기
  - echo
  - print
  - printf  -> c언어 문법 사용
  >> 출력문
  
  - 긴 문자열  ""
  - 짧은 문자열 ''
  

# vi hello.php


// php의 기본 구조


<?php // php블럭의 시작

echo "Hello,PHP\n";
print "Hello,PHP\n";
printf("%s\n","hello, PHP");

?> // php 블럭의 끝 


 ==> 블럭 밖에 써놓는 것은 상관없음 (php 코드가 아닌것은 블럭 밖에 써놓는다)
 


 1-1) 실행하는 방법
  - 코드에러가 발생해도 아무것도 나오지 않음
  - console 창에 코드에러가 뜨는 것은 javascript
  ! 코드에러를 찾을 떄

 

1>> # php hello.php

 /var/www/html/ ->document의 디렉터리
 


  

2>> 웹 브라우저
   192.168.59.154/hello.php 실행
  ! 서버에 코드가 있어야 실행됨
   hello.php 로컬컴퓨터에 저장해도 실행되지 않음 
   



! \n 은 웹 브라우저에서 인식하지 않는다
  <br>로 사용해야함


<?php
echo "Hello, PHP<br>";
print "Hello, PHP <br>";
printf("%s<br>","hello, PHP");
?>




 2)주석
  //  : 한줄
  /* */  :여러줄
  - c언어와 동일


 !!! php 와 javascirpt  웹화면에서 보는 것은 동작하는 것이 다르지 않음
 ( 동작의 다른점을 느낄 수 없지만 다르다는 것을 인지해야함 )


  php -> 코드가 들어있지 않고 문자열 하나만 나옴 (소스 코드 확인)
    > 어떠한 명령에 의해 출력되었는지 알수 없음
  javascript-> 코드가 들어있음
    > 코드를 보고 어떤 명령을 했는지 알 수 있음
 

! php로 만들어진 어플리케이션에 취약점이 있어도 확인 할 수가 없음
  - 추측성 (관련지식이 없으면 힘듦)
 


2) 에러메세지 출력


 /etc/php.ini


  ! 보안상 출력하는 것은 안 좋음
 - 530번 On 으로 변경

       -> 브라우저에 에러가 출력이 됨
 - notice와 error 는 무시하고 써야함




 #service httpd restart

     // 재시작을 해줘야 적용이 됨
 
  
3) 배열


 $arr=array(
  "foo"=>"bar";
 )


 - 연관배열
 - 변수의 선언 없이 변수 정의 하는 것 만 있음
 
 $arr=array(10,20,30,40,50);
 echo $arr; // Array 만 나옴 (원소가 나오지 않음)



 echo $arr[0]; // 10 나옴
 



 > print_r($arr)
  - 배열안의 원소를 전부 출력 가능
  - 인덱스라고 하지 않고 key라고 함
 


<실습>


3-1)


#vi array.php 


<?php
  $arr=array(10 => 10,'second'=>20,30,40,50);
  echo $arr[0]."<br>"; 

    !!  . 은 +와 같은 역할 ( 앞과 뒤를 연결해주는 연결연산자 )
  echo $arr[second]."<br>";
  echo $arr[10]."<br>";
  print_r($arr);
?>




3-2) 배열안에 배열


#vi array.php


<?php
  $arr=array(10 => 10,'second'=>20,30=>array(1,2,3),40,50);
  echo $arr[0]."<br>";
  echo $arr[second]."<br>";
  echo $arr[10]."<br>";
  echo $arr[30][10]."<br>";
  print_r($arr);
?>

3-3) 문자열안에 문자를 표현하는 것이 가능함


 - echo "$arr[second]<br>";


 ex) $tmp='php';
  echo "{$tmp}is blar blar ... <br>";
   //애매한 부분을 표현할 때 {}사용


4) 함수
 - javascript와 동일
  function


5) 연산자


 www.php.net 참조
 - javascript 동일


 $a 부정
 $a-$b 뻴셈
      > 비교연산자
  ===
  !==
      > 논리연산자
      > 문자열 연산자
  -.
  -{}
       >foreach (변수 as $value)
 


<실습>


#vi num.php


1)
<?php

        $arr=array(10 => 10,'second'=>20,30,40,50);
        foreach($arr as $value){
                echo $value ."<br>";

        }
?>


 1-2) key와 value 따로 분리 할 수 있음


<?php

        $arr=array(10 => 10,'second'=>20,30,40,50);
        foreach($arr as $key => $value){
                echo "$key => $value <br>";

        }
?>



1) 배열



2) key와 value를 분리 





 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
















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

Web - 인증 / COOKIE , SESSION/와이어샤크 확인  (0) 2018.03.05
Web- PHP 데이터 전달 <GET/POST>  (0) 2018.03.02
Web - DOM/BOM객체 (javascript)  (0) 2018.03.02
Web- Web1.0 < Javascript >  (0) 2018.02.19
웹(Web) 기초 1) Web 1.0  (0) 2018.02.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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
글 보관함