javascript 이벤트 / php 개념 및 슈퍼 글로벌 변수에 대해서 정리한다.
javascript
- 웹 브라우저에서 요소, 속성 등을 제어하기 위한 수단
- 움직이는 애니메이션 효과, 소켓 통신, ...
이벤트
- 글로벌 속성
<!doctype html>
<html>
<head></head>
<body>
<script>
function event_handler() { // 실행될 함수 정의
alert('onmouseover!');
}
</script>
<p onmouseover=event_handler()> before mouseover </p> // 해당 이벤트에 실행될 함수를 지정
</body>
</html>
( <p> 태그를 이용해서 before mouseover라는 문단을 하나 작성해준다 )
* <p> 태그는 block 속성을 가지고 있기 때문에 해당 라인을 모두 차지하게 된다.
( 이벤트 중에서 커서를 가져가면 이벤트가 발생하는 onmouseover를 이용해서 before mouseover에 커서를
가져가면 event_handler() 함수를 호출해서 onmouseover!라는 내용에 경고창을 출력하게 된다 )
( 개발자 도구에서 document 객체를 불러와서 보면 현재 열려있는 페이지 문서의 전체 내용이 나오는 걸 볼수 있다 )
* 현재 열린 페이지 문서의 전체 내용을 가지고 있는 document 객체(DOM)
* 현재 열린 URL이나 브라우저에 관한 정보를 가지고 있는 BOM
( document 객체 안에 있는 getElementsByTagName('p')를 이용해서 <p>태그들의 정보를 가져오게 되고
해당 태그가 여러개 있으면 배열 형태로 가져오게 된다 )
요소를 식별 할 수 잇는 속성( 글로벌 속성 )
- id, class, name
* id는 보통 유일한 식별자를 구분할 때 사용한다.
( 다만, 중복되도 상관 없지만 유일한 식별자는 id로 구분하고 그룹은 class로 보통 구분한다 )
( id를 이용해서도 마찬가지로 해당 id의 정보를 가져올수 있고 보통은 유일한 식별자를 구분할 때는 id를 사용하고
그룹인 경우에는 class를 사용하는게 보통 경우이지만 지키지 않아도 에러가 발생하진 않는다 )
( 위에 있는 document에 대한 객체를 이해하고 보면 document 객체를 이용해서 해당 id에 있는 innerHTML의 내용을
바꿀 수 있다는 것도 감이 오게 된다 )
( 마우스를 올려 놓으면 해당 이벤트가 발생하면서 document 객체에서 id가 'first'인 innerHTML의 내용이 바뀐걸 확인 할 수 있다 )
------------------------- WEB 1.0
WEB 1.0
- HTML4(1997), Javascript(1995)
WEB 2.0
- server program( web application )
- CGI ( Common Gateway Interface )
- PHP
* php 설치
#>yum install php.i686
...
#>yum install php-mysql.i686
...
( php 설치 이후에 정상적으로 동작하는지 확인해 보기 위해서 아파치 서버를 다시 시작해주고
php 코드를 하나 간단하게 작성해보면 php가 제대로 동작하는지 알 수 있다 )
PHP
- 파일의 확장자는 php이다. ( 기본설정 )
- php 영역블록은 javascript처럼 여러개의 영역으로 나눌 수 있다.
- 변수를 선언 할때는 '$' 기호를 사용한다.
( 문자열 안에 변수를 넣는 것도 가능하다 )
* 문자열 내에서 범위를 표현 할 때 "{}"를 이용해서 표현 해줄 수도 있다.
- 문자 연결 연산자는 '.' 기호를 사용한다.
( javascript와 같이 타입을 가리지 않는다 )
- javascript와 같이 '===' 등호를 사용한다.
( php도 마찬가지로 비교 할때 타입을 체크하지 않는다 )
php의 기본구조
<?php
?>
( php에서 가장 많이 사용하는 echo이고 echo는 파이썬에서 print와 같이 해당 내용을 출력 해주는 역할을 한다 )
* php안에서는 c 문법을 구현 해놔서 c 문법 사용이 가능하다.
( c를 지원 해주는건 아니고 php에서 똑같이 구현을 해놨다 )
* php도 python 같이 스크립트 언어이기 때문에 커맨드라인을 통한 실행이 가능하다.
* 웹브라우저에서 소스보기를 통해 php와 html 코드를 비교해보면
php는 웹서버에서 동작하고 html은 웹 브라우저(클라이언트)에서 동작하는데
똑같은 코드로 보이는걸 알 수 있다.
( 웹 브라우저를 통해서 소스를 확인해도 서버 언어인 php 코드를 확인 할 수 없다 )
- 이러한 부분 때문에 웹해킹에서 서버 언어를 공략할 때는 추측이 많이 필요해서 언어를
많이 다뤄본 경험이 필요하다.
- php의 설정파일: /etc/php.ini
* 설정은 처음 실행될 때 한번만 적용
* 이미 실행중인 상태에서 설정 파일을 수정해도 바로 적용되지 않는다.
* 다음 실행될 때 적용
533 display_errors = Off : On으로 변경하면 웹 브라우저에서 에러 메시지를 출력해준다.
( 보안상 이유 때문에 기본은 Off )
- apache 설정파일: /etc/httpd/conf/httpd.conf
/etc/httpd/conf/*
/etc/httpd/conf.d/*
php 참고사이트
- 공식 홈페이지: http://www.php.net
! 슈퍼 글로벌 변수
- 미리 정의된 변수
- 일반적인 변수의 적용범위와는 다르다
- 어떠한 php 프로그램이든 참조가 가능
- $_GET, $_POST
- $_COOKIE, $_SESSION
http://php.net/manual/en/language.variables.superglobals.php
( 따로 $_SERVER[REMOTE_ADDR]을 선언하지 않아도 슈퍼 글로벌 변수이기 때문에 정상적으로 작동 하는 걸 볼 수 있고
슈퍼 글로벌 변수인 $_SERVER[REMOTE_ADDR]을 이용하면 해당 페이지에 접속한 사용자의 아이피를 가져오게 된다 )
'프로그래밍 > WEB HACKING' 카테고리의 다른 글
[WEB HACKING] php 간단한 로그인 창 만들기 / 쿠키 & 세션 이용방법 (0) | 2017.08.29 |
---|---|
[WEB HACKING] php 연관 배열, foreach / 데이터를 서버로 전달하는 방법( GET / POST / 쿠키 ) / 웹 인증 방법 (0) | 2017.08.17 |
[WEB HACKING] javascript 반복문( while, for, for in ), 배열 / 간단한 야구게임 만들어보기 (0) | 2017.08.14 |
[WEB HACKING] html 태그(이미지, 표, 링크, 오디오, 비디오) / javascript 문법, 변수, 입/출력 (0) | 2017.08.12 |
[WEB HACKING] 웹서버 구성 / html 기본구조 및 태그 (0) | 2017.08.11 |
댓글