묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
무단링크 방지 소스입니다... 개선할 점 지적해주세요 ^^
2005.02.21 14:19
http://koasing.compuz.com/x6000사용하는 페이지 http://koasing.compuz.com/x6000
링크로 접속하면 하얀색 백지만 보일겁니다.
새 창 띄워서 URL 복사해서 붙여넣으면 접속 잘 되구요.
ZeroCount에서 $HTTP_REFERER를 사용해서 접속 URL을 기록하는 것을 보고서 만들어봤습니다.
작동은 제대로 하는거같습니다만, 잘못된 곳이나 개선할 점이 있다면 지적해 주세요.
PHP를 따로 공부한 적이 없고, ZeroCount 소스에서 뜯어온거라 ;; 꽤나 허접합니다.
(VB는 책이라도 있지 -_- 제가 만들어놓고도 제대로 이해를 못합니다 ;;)
그리고 하나 더.
무단링크, 그러니까 허용된 단어가 없는 URL에서 접근했을 때에는 '무단링크는 금지되어 있습니다.' 라는 메세지를 뿌려주고 싶은데, 어째 잘 안되네요 ;;
변수를 하나 더 만들어서 초기값 0으로 잡고 if 블럭안에서 1로 올려줘서 체크하는 방식으로 하면 될거같긴 한데, 그렇게 하면 변수 낭비하는것같고...
만드는데 도움이 될만한 말씀 주셔도 감사하겠습니다 ^^
--- allowurl.php
// 링크를 허용할 URL들입니다.
// 주소 전체를 다 입력해도 되고, 주소중 특별한 일부분만 입력해도 됩니다.
// 특히 다음이나 네이버 카페등 특정 코드로 URL이 결정될 때에는 그 코드만 입력하면 됩니다.
// 입력한 URL의 총 개수를 입력합니다.
// $url[3]으로 끝난다면 4를 입력해야 합니다.(0부터 3까지 총 4개)
$urlnum=3;
// $url[x]에서 x는 반드시 0부터 시작해야 합니다.
// $url[0]은 URL 입력란에 주소를 입력해서 접속했거나 북마크로 접속했을 경우입니다.
// 삭제하면 허용 URL 외에는 접속할 방법이 없어집니다.
$url[0]="Typing or Bookmark";
$url[1]="주소 1";
$url[2]="주소 2";
--- index.php
// ZeroCount와 연동하는 무단링크 체크기입니다.
// ZeroCount를 index.php 파일이 있는 폴더 안의 count 폴더에 설치해 주어야 합니다.
// 아니면 include되는 url을 수정해 주어도 OK.
// 허용 URL 목록을 불러옵니다.
include "allowurl.php";
// ZeroCount include
// ZeroCount는 현재 폴더의 서브폴더인 count 폴더에 있어야 합니다.
include "./count/dbconn.php3";
include "./count/zerocounter.php3";
for($i=0;$i<$urlnum;$i++)
{
if(eregi($url[$i],$referer))
{
echo '
허용 URL에서 접속했을 때 뿌려줄 내용을 입력합니다.';
}
}
링크로 접속하면 하얀색 백지만 보일겁니다.
새 창 띄워서 URL 복사해서 붙여넣으면 접속 잘 되구요.
ZeroCount에서 $HTTP_REFERER를 사용해서 접속 URL을 기록하는 것을 보고서 만들어봤습니다.
작동은 제대로 하는거같습니다만, 잘못된 곳이나 개선할 점이 있다면 지적해 주세요.
PHP를 따로 공부한 적이 없고, ZeroCount 소스에서 뜯어온거라 ;; 꽤나 허접합니다.
(VB는 책이라도 있지 -_- 제가 만들어놓고도 제대로 이해를 못합니다 ;;)
그리고 하나 더.
무단링크, 그러니까 허용된 단어가 없는 URL에서 접근했을 때에는 '무단링크는 금지되어 있습니다.' 라는 메세지를 뿌려주고 싶은데, 어째 잘 안되네요 ;;
변수를 하나 더 만들어서 초기값 0으로 잡고 if 블럭안에서 1로 올려줘서 체크하는 방식으로 하면 될거같긴 한데, 그렇게 하면 변수 낭비하는것같고...
만드는데 도움이 될만한 말씀 주셔도 감사하겠습니다 ^^
--- allowurl.php
// 링크를 허용할 URL들입니다.
// 주소 전체를 다 입력해도 되고, 주소중 특별한 일부분만 입력해도 됩니다.
// 특히 다음이나 네이버 카페등 특정 코드로 URL이 결정될 때에는 그 코드만 입력하면 됩니다.
// 입력한 URL의 총 개수를 입력합니다.
// $url[3]으로 끝난다면 4를 입력해야 합니다.(0부터 3까지 총 4개)
$urlnum=3;
// $url[x]에서 x는 반드시 0부터 시작해야 합니다.
// $url[0]은 URL 입력란에 주소를 입력해서 접속했거나 북마크로 접속했을 경우입니다.
// 삭제하면 허용 URL 외에는 접속할 방법이 없어집니다.
$url[0]="Typing or Bookmark";
$url[1]="주소 1";
$url[2]="주소 2";
--- index.php
// ZeroCount와 연동하는 무단링크 체크기입니다.
// ZeroCount를 index.php 파일이 있는 폴더 안의 count 폴더에 설치해 주어야 합니다.
// 아니면 include되는 url을 수정해 주어도 OK.
// 허용 URL 목록을 불러옵니다.
include "allowurl.php";
// ZeroCount include
// ZeroCount는 현재 폴더의 서브폴더인 count 폴더에 있어야 합니다.
include "./count/dbconn.php3";
include "./count/zerocounter.php3";
for($i=0;$i<$urlnum;$i++)
{
if(eregi($url[$i],$referer))
{
echo '
허용 URL에서 접속했을 때 뿌려줄 내용을 입력합니다.';
}
}
정도로 하면 안되나요? -_ -;; 그리해도 될듯헌데;