원하는 사이트에만 css 주기 정보
원하는 사이트에만 css 주기본문
1. 열악한 웹호스팅 중에는 .htaccess 를 사용하지 못하는 호스팅도 비일비재합니다.
이럴 경우 내가 사용한 css 파일을 다른 사이트에서 사용하지 못하도록 하는 코드입니다.
먼저 https://sir.kr/g5_tip/23063 이 게시글의 이해가 필요합니다.
가장 상단에 아래의 코드를 넣어주고 그 밑으로 원하는 css 를 작성합니다.
파일은 php 로 저장해 줍니다.
<?php
header("Content-type:text/css; charset:UTF-8");
$whiteList = ["wittazzurri.com", "sir.kr"];
$noneMode = 1;
for ($i = 0; $i < count($whiteList); $i++) {
if (strpos($_SERVER['HTTP_REFERER'], $whiteList[$i]) !== false) {
$noneMode = 0;
break;
}
}
if ($_SERVER['HTTP_REFERER'] == "" || $noneMode) exit;
?>
$whiteList = ["wittazzurri.com", "sir.kr"]; 는
화이트리스트로 프로토콜을 제외하고 도메인을 넣어주세요. 숫자는 몇개라도 상관없습니다.
여기에 입력된 도메인에서만 이 css 는 유효합니다.
이렇게 css 를 만들면 주소창에 다이렉트로 이 파일의 url 을 입력하고 엔터를 쳐도 먹빡이 됩니다.
!-->9
댓글 14개
한번 시험해 봐야 겠습니다. 감사 합니다.
@들레아빠
그냥 하찮은 꼼수입니다.
저 상단부분을 공통파일로 주고 인클루드만 해도 되구요.
그럼 나중 css 를 허용할 사이트의 리스트만 공통파일에서 수정하면 되겠지요.
좋은팁 감사합니다^^
@푸른산타
주소창에 다이렉트로 url 을 때려박으면
$_SERVER['HTTP_REFERER'] 가 진공이 되구요.
어떤 웹페이지에서 css 를 링킹으로 불러오면 그 css 의 $_SERVER['HTTP_REFERER'] 는 해당 웹페이지가 된다는 걸 응용해 본 것입니다.
감사합니다.
감사합니다
오 좋은 것 같아요...!! 저번에 알려주신 팁에 추가 기능이 생겼네요!
혹시 그럼 php 로 만든 스타일시트를 연결해줄때는
link 로 하는게 아니고
include_once 로 php 파일을 연결하는건가요??
머리로 생각한거로는... 그럼 작성해놓은 css 코드들이 페이지마다 다 노출되는게 아닌가 생각되는데;;
php 파일로 css 작업할 경우 어떻게 연결해야하나요....??
@coDribble
link rel href 로 걸어야지요.
<link rel="stylesheet" href="<?php echo G5_URL.'/static/css/common.php'; ?>" />
이런식으로 php 로 걸어도 되는건가요?? css 밖에 걸어보질않아서 php 도걸릴거라고는 생각도 못해봤네요.... 오... 그럼 너무 좋은데요??
!-->예 그리해도 되고 단순히 아래처럼 해도 되구요.
<link rel="stylesheet" href="https://sir.kr/css/style.php">
https://sir.kr/g5_tip/23063 에 첨가하였습니다.
!-->오 이런 방법이 있었네요
좋은팁 감사합니다 ^^
@뭉게구름그누
어이쿠 감사합니다.
감사합니다 ^^
@민트다이어리 감사합니다