Information Security
7 HTML + PHP + MySQL 실습 본문
HTML + PHP + MySQL 실습
-3X3 Photobook
#vi photo.php
<html>
<head>
<style>
td, tr {
border: 1px dashed blue;
}
</style>
</head>
<body>
<table>
<tr>
<td><img src=""/></td>
<td><img src=""/></td>
<td><img src=""/></td>
</tr>
<tr>
<td><img src=""/></td>
<td><img src=""/></td>
<td><img src=""/></td>
</tr>
<tr>
<td><img src=""/></td>
<td><img src=""/></td>
<td><img src=""/></td>
</tr>
</table>
</body>
</html>
-위의 코드는 3X3 사진첩을 만들 구조이다.
-src 속성의 값에 이미지의 URL을 넣어주면 사진첩이 완성된다.
-mysql에 접속해서 photobook DB에 photo 테이블을 만든다.
-INSERT 문을 이용하여 9개의 URL를 저장한다.
-> insert into photo(url) value("url");
저장된 URL 확인
PHP는 MySQL 관련 라이브러리를 지원한다.
※ 여기서는 에러 메시지가 출력되도록 코드를 작성했지만, 에러 메시지가 출력되면 공격자에게 DB, 테이블 이름이 노출될 수 있으므로 출력하지 않는 것이 좋다.
MySQL 함수
mysql_connect(): mysql 서버에 접속
= #mysql -h localhost -u root -p
mysql_select_db(): DB 선택
= mysql> use db이름;
-php 설정 파일(/etc/php.ini) 229 라인 short_open_tag의 값을 On으로 변경하면 <?php ?>를 <? ?>로 짧게 사용할 수 있다.
-설정 파일을 변경한 후에는 service mysqld restart로 변경 내용을 적용시켜야 한다.
include을 사용하여 자주 사용하는 코드를 포함시킬 수 있다.
mysql_query(): 쿼리 실행
= mysql> select ...
mysql_fetch_row(): 숫자 색인 배열로 결과 반환 후 내부 데이터 포인터 앞으로 이동
URL을 DB로부터 가져왔으니 이 값을 src 속성에 넣어주면 이미지를 출력할 수 있게된다.
이미지가 출력되었다.
페이지 소스를 보면 속성 src에 URL이 들어간 것을 확인할 수 있다.
9개의 사진이 저장된 사진첩을 만들기 위해 반복문을 사용해서 코드를 작성했다.
9X9 사진첩 생성 완료
페이지 소스 확인
'Web Hacking > Web 기초' 카테고리의 다른 글
09 게시판 기본 형식 구축 (1) | 2017.11.24 |
---|---|
8 인증 처리 (0) | 2017.11.23 |
6 데이터베이스 (0) | 2017.11.17 |
5 PHP + form 태그를 통한 데이터 전달(GET/POST) (0) | 2017.11.16 |
4 Javascript (0) | 2017.11.14 |