◆ 이 블로그의 모든 게시물은 여러 방법을 이용해 다른 곳으로 퍼가는 것은 절대 허용하지 않습니다.
◆ 단, 게시물 링크를 남기는 것만 허용합니다.
◆ 단, 게시물 링크를 남기는 것만 허용합니다.
◆ 이 문장 바로 아래와 글 내용 끝에 바로 나오는 광고는 티스토리 자체광고로 이 블로그와 무관합니다.
GD 이미지 생성을 이용해서 불펌방지용 IP 워터마크 이미지 배경을 만들어 보자.
어... 그냥 텍스트로 넣는 것이 더 편하긴 한데...
어쨌든 위와 같이 알록달록하고 무작위 위치로 나타나는 워터마크를 만들어 보자.
<?php
// watermark.php
# 접속자 IP 주소를 불러온다.
$ip = $_SERVER['REMOTE_ADDR'];
# 이미지를 생성한다.
# imagecreate(int width, int height);
$im = imagecreate(360, 300);
# 이미지 배경색을 설정한다.
# imagecolorallocate(생성 이미지, int red, int green, int blue, int alpha);
# RGB 색상 범위는 0~255 / alpha 범위는 0~127(투명)
$bg = imagecolorallocatealpha($im, 0, 0, 0, 127);
# PNG로 내보내기 위해 헤더를 설정한다.
header("Content-Type: image/png");
# 생성한 이미지 안에 무작위 위치, 무작위 색으로 IP 주소를 여러 개를 넣는다.
# 개수를 바꾸려면 '$i <= 10;'의 10을 줄이거나 늘리면 된다.
for ($i = 0; $i <= 10; $i++) {
# 삽입할 글자(IP 주소)의 색을 설정한다.
# rand();를 사용해 글자색과 알파값을 무작위로 나오게 했다.
$tc = imagecolorallocatealpha($im, rand(0,240), rand(0,240), rand(0,240), rand(100,115));
# 이미지에 글자(IP 주소)를 넣는다.
# imagestring(생성 이미지, 글자크기[1-5], 가로위치, 세로위치, 표시할 문자, 글자색);
# rand();를 사용해 글자가 표시될 위치를 무작위로 나오게 했다.
imagestring($im, 3, rand(0,250), rand(0,280), $ip, $tc);
}
# 만든 이미지를 PNG로 내보내 출력한다.
# imagepng(생성 이미지, 저장할 경로, 압축률, 필터);
# 경로를 지정하지 않으면 NULL, 압축률은 0~9
# 경로, 압축률, 필터는 생략해도 된다.
imagepng($im, NULL, 9);
# 출력 후 이미지를 메모리에서 지운다.
imagedestroy($im);
?>
CSS로 위에서 작성한 이미지를 불러온다.
php 파일 그대로 불어오면 된다.
<style type="text/css">
body {
background:url("watermark.php")
}
</style>
'컴퓨터' 카테고리의 다른 글
다음 팟플레이어 마지막 버전(1.6.63891) (17) | 2017.02.19 |
---|---|
구글 리캡차(reCAPTCHA) Content Security Policy 설정 (0) | 2017.01.08 |
GMC(지엠씨코리아) 김포 AS센터 (0) | 2016.10.19 |
[PHP] 클라우드플레어로 접속자 국가 코드 표시 (0) | 2016.09.20 |
XE 데이터 추출 500 에러 해결 방법 (0) | 2016.06.10 |
댓글