에

외부에서 요청된 이미지는 워터마크찍어 보내기

· 2011-08-11 (목) 05:39:09 · 8314 · 12
사이트내에서요청시
외부에서요청시





외부에서 요청시(불펌등) 워터마크를 찍어 내보냅니다

.htaccess
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !domain\. [NC]
RewriteRule ^([^thumb].*\.[jJ].*)$ http://domain.com/watermark.php?src=$1 [L]

wartermark.php
<?php
$input .= "./";
if (isset($_GET['src'])) { $input .= $_GET['src']; }
$watermark = "./images/water.png";
$image = $input;
$im = imagecreatefrompng($watermark);
$ext = substr($image, -3);
if (strtolower($ext) == "gif") {
if (!$im2 = imagecreatefromgif($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "jpg") {
if (!$im2 = imagecreatefromjpeg($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "png") {
if (!$im2 = imagecreatefrompng($image)) {
echo "Error opening $image!"; exit;
}
} else {
die;
}
imagefilledrectangle($im2, 0  , (imagesy($im2))-(imagesy($im)) , imagesx($im2)  , imagesy($im2) , imagecolorallocatealpha($im2, 0, 0, 0, 100) );
imagecopy($im2, $im, (imagesx($im2)-(imagesx($im))), (imagesy($im2))-(imagesy($im)), 0, 0, imagesx($im), imagesy($im));
$last_modified = gmdate('D, d M Y H:i:s T', filemtime ($image));
header("Last-Modified: $last_modified");
header("Content-Type: image/png");
imagepng($im2);
imagedestroy($im);
imagedestroy($im2);
?>

끝으로
$watermark = "./images/water.png"; 여기나온 경로대로 이미지를 만들어주시면됩니다
|

댓글 12개

좋은정보 감사합니다^^
지금도 그런데...
전에도 이런팁 적용해보면 꼭 본인 사이트에서도 액박으로 나오더라고요. ㅡㅡ;
음잘되는데염 domain 이라고나온부분만 자신사이트 도메인에 맞게 수정하시면 되실거에요
2011-08-12 (금) 12:32:47
감사합니다..
좋은 아이디어네요~
감사합니당
외부에서 요청된 이미지는 워터마크찍어 보내기
좋네요

사용법을 알듯 말듯 ㅠ ㅠ
외부에서 요청된 이미지는 워터마크찍어 보내기
RewriteCond %{HTTP_REFERER} !domain\. [NC] <- 자신 도메인으로 변경하세요 예) asdf.com
RewriteRule ^([^thumb].*\.[jJ].*)$ http://domain.com/watermark.php?src=$1 [L] <- 자신 도메인으로 변경하세요 예) asdf.com
RewriteRule ^([^thumb].*\.[jJ].*)$ http://domain.com/watermark.php?src=$1 [L]

wartermark.php
<?php

wartermark watermark 스펠링이 서로 잘못되어있어요 글수정이안되서 코멘트로 남김니다
.htaccess 파일 작업시 bbs 같은 경로에 올려주세요.

.htaccess 내용입니다.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !도메인 [NC]
RewriteRule ^([^thumb].*\.[jJ].*)$ http://도메인/watermark.php?src=$1 [L]



파일명이 wartermark.php 가 아니고 watermark.php 입니다.

그누5에서 확인 하였습니다.
에그당님이 원격으로 도움주신부분입니다 ^^
에그당님 감사드려요 ^^;
댓글을 작성하시려면 로그인이 필요합니다.

그누4 팁자료실

3,309건

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
11-08-22 조회 5,631
11-08-22 조회 4,600
11-08-22 조회 6,413
11-08-20 조회 8,753
11-08-19 조회 9,632
11-08-18 조회 4,368
11-08-18 조회 5,729
11-08-16 조회 9,445
11-08-11 조회 8,315
11-08-10 조회 6,530
11-08-10 조회 6,632
11-08-09 조회 3,537
11-08-09 조회 7,015
11-08-08 조회 3,678
11-08-08 조회 5,140
11-08-08 조회 7,051
11-08-08 조회 7,263
11-08-05 조회 4,015
11-08-01 조회 6,232
11-07-28 조회 4,840