웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
CSS 및 JAVASCRIPT 소스 효과적으로 숨기기.
2007.06.16 22:07
지금까지 소스 숨기시려고 하신 분들, 보통 javascript로 return false 처리해서 막았습니다.
그러나 편집 -> 소스보기를 보거나 자바스크립트를 꺼버리면 무용지물이 되어버립니다..
따라서, 제가 고안한 방법!
PHP를 이용한 방법입니다.
스타일시트, style.css를 예제로 들어봅시다.
보통 style.css파일은 막지 못합니다. 따라서 이것을 php파일로 바꿔 코드를 숨길 수 있게 하는겁니다.
style.css파일이 다음과 같다고 합시다.
--------------------------------------------------------------------------------------------------
body {
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
form {
padding:0px;
margin:0px;
}
td{
padding:2px;
}
img {
border:0px none;
}
/* General Links */
a {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:active {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:visited {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:hover {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#DDDDDD;
text-decoration:underline;
}
/* General Horizontal Lines */
hr {height:1px;width:100%;color:#999999;background:#999999;border:0;}
--------------------------------------------------------------------------------------------------
그냥 보통 css파일입니다.. 따라서 아무것도 막지를 못하죠.
그러면 css파일을 style.php로 변경 한 후 다음과같이 해봅시다.
--------------------------------------------------------------------------------------------------
<?
header("Content-type: text/css");
$load_check = $_GET['load_check'];
$_load_check = sha1(date('d m A s i'));
if($load_check == $_load_check){
?>
body {
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
form {
padding:0px;
margin:0px;
}
td{
padding:2px;
}
img {
border:0px none;
}
/* General Links */
a {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:active {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:visited {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:hover {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#DDDDDD;
text-decoration:underline;
}
/* General Horizontal Lines */
hr {height:1px;width:100%;color:#999999;background:#999999;border:0;}
<?
}
else{
echo "/* 소스를 보시고 싶으시다면 연락해주세요.... admin@inera.net */";
}
?>
--------------------------------------------------------------------------------------------------
이렇게 변경 한 후 다음과 같이 css파일을 불러옵시다.
--------------------------------------------------------------------------------------------------
<link rel="stylesheet" href="css/style.php?load_check=<?=sha1(date('d m A s i'));?>" type="text/css" />
--------------------------------------------------------------------------------------------------
이렇게 하면 웹서버는 읽어와도 개인이 읽으려면 1초마다 바뀌는 해시값을 알아야 하기 때문에 보기가 힘들어집니다..
또한, 어떻게 암호화되었는지 모르면 거의 불가능하다고 보면 됩니다.
자바스크립트도 이와같이 처리하면 됩니다.
그러나 편집 -> 소스보기를 보거나 자바스크립트를 꺼버리면 무용지물이 되어버립니다..
따라서, 제가 고안한 방법!
PHP를 이용한 방법입니다.
스타일시트, style.css를 예제로 들어봅시다.
보통 style.css파일은 막지 못합니다. 따라서 이것을 php파일로 바꿔 코드를 숨길 수 있게 하는겁니다.
style.css파일이 다음과 같다고 합시다.
--------------------------------------------------------------------------------------------------
body {
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
form {
padding:0px;
margin:0px;
}
td{
padding:2px;
}
img {
border:0px none;
}
/* General Links */
a {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:active {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:visited {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:hover {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#DDDDDD;
text-decoration:underline;
}
/* General Horizontal Lines */
hr {height:1px;width:100%;color:#999999;background:#999999;border:0;}
--------------------------------------------------------------------------------------------------
그냥 보통 css파일입니다.. 따라서 아무것도 막지를 못하죠.
그러면 css파일을 style.php로 변경 한 후 다음과같이 해봅시다.
--------------------------------------------------------------------------------------------------
<?
header("Content-type: text/css");
$load_check = $_GET['load_check'];
$_load_check = sha1(date('d m A s i'));
if($load_check == $_load_check){
?>
body {
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
form {
padding:0px;
margin:0px;
}
td{
padding:2px;
}
img {
border:0px none;
}
/* General Links */
a {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:active {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:visited {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#777777;
text-decoration:none;
}
a:hover {
font-size:11px;
font-weight:normal;
font-family:Verdana,Tahoma,Arial,sans-serif;
color:#DDDDDD;
text-decoration:underline;
}
/* General Horizontal Lines */
hr {height:1px;width:100%;color:#999999;background:#999999;border:0;}
<?
}
else{
echo "/* 소스를 보시고 싶으시다면 연락해주세요.... admin@inera.net */";
}
?>
--------------------------------------------------------------------------------------------------
이렇게 변경 한 후 다음과 같이 css파일을 불러옵시다.
--------------------------------------------------------------------------------------------------
<link rel="stylesheet" href="css/style.php?load_check=<?=sha1(date('d m A s i'));?>" type="text/css" />
--------------------------------------------------------------------------------------------------
이렇게 하면 웹서버는 읽어와도 개인이 읽으려면 1초마다 바뀌는 해시값을 알아야 하기 때문에 보기가 힘들어집니다..
또한, 어떻게 암호화되었는지 모르면 거의 불가능하다고 보면 됩니다.
자바스크립트도 이와같이 처리하면 됩니다.
댓글 9
제목 | 글쓴이 | 날짜 |
---|---|---|
50줄로 만드는 웹메모 PHP 소스입니다. (웹사이트 포스트잇) [3] | 김성대 | 2006.05.17 |
GD2를 이용한 간단한 이미지버튼 만들기... | 마땅해 | 2006.06.13 |
PHP로 PDF만들기 1 | 행복한고니 | 2006.06.17 |
PHP로 PDF만들기 2 - 한글 사용 [2] | 행복한고니 | 2006.06.17 |
[팁] 웹언어 개발자를 위한 고객 미디어플레이어 에러해결법 | 배광한 | 2006.07.24 |
네이버 메인페지 플래시광고처럼 들갈때마다 바뀌게 하기. [3] | 좋은남자 | 2006.08.30 |
[PHP 동영상강의] 47. phpmyadmin 최신버젼 설치하기 [3] | 서기 | 2006.10.27 |
[PHP 동영상강의] 48. 엑셀파일 db에 넣기, 동적 select 구현 [8] | 서기 | 2006.10.27 |
간단하게 만들어본 프레임워크 [2] | 유창화 | 2006.11.27 |
sajax.php 소스 코드 분석 (자세한 한글 주석) | 유창화 | 2006.11.28 |
다운로드 이어 받기 및 전송속도 제한 구현 [1] | 박원형 | 2006.12.11 |
아무이유없이 만든 파일 메모장-ㅠ-;; [7] | 한태종 | 2007.02.25 |
PHP스터디시리즈_APM과 PHP의시작 [1] | 에아 | 2007.04.09 |
PHP스터디시리즈_php프로그램 기초1 [6] | 에아 | 2007.04.09 |
PHP스터디시리즈_php프로그램의 기초_연산자1 [1] | 에아 | 2007.04.28 |
주민등록번호 검사기 [7] | 이진혁 | 2007.05.18 |
CSS 및 JAVASCRIPT 소스 효과적으로 숨기기. [9] | LaughLikeCrazy | 2007.06.16 |
mysql 안쓰는 간단한 게시판. [20] | 제로저아 | 2007.07.15 |
mysql 관리하는 프로그램입니다. (7/26 13:03) 수정 [4] | 제로저아 | 2007.07.18 |
멀티플 파일 업로드 프로그래시브 - SWFUpload [1] | PHPer | 2007.07.19 |