- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
JavaScript JavaScript 및 CCS 코드 은닉 (php의 경우)
2012.11.12 19:58
JavaScript 및 CCS 코드 은닉 (php의 경우)
지금까지 소스 숨기시려고 하신 분들, 보통 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초마다 바뀌는 해시값을 알아야 하기 때문에 보기가 힘들어집니다..
또한, 어떻게 암호화되었는지 모르면 거의 불가능하다고 보면 됩니다.
자바스크립트도 이와같이 처리하면 됩니다.
출처: zeroboard.com by Kay (http://flixey.com)
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
17 | 자바스크립트 패킹(packing), 자바스크립트 난독화, | 졸리운_곰 | 2015.05.31 | 627 |
16 | •웹 소켓(Web Socket)이 있기까지 | 졸리운_곰 | 2015.05.22 | 535 |
15 | XE 템플릿 구문 | 졸리운_곰 | 2015.05.12 | 761 |
14 | 자바스크립트의 한계 / 자바스크립트란 무엇인가? | 졸리운_곰 | 2015.04.28 | 377 |
13 | 홈페이지 평가 방법론 | 졸리운_곰 | 2014.12.09 | 197 |
12 | 웹사이트 평가 지표 | 졸리운_곰 | 2014.12.09 | 285 |
11 | ActionScript 3.0 학습에 도움이 되는 팁 | 졸리운_곰 | 2014.06.22 | 392 |
10 | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (3) | 졸리운_곰 | 2014.06.22 | 196 |
9 | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (2) | 졸리운_곰 | 2014.06.22 | 260 |
8 | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (1) | 졸리운_곰 | 2014.06.22 | 248 |
7 | 2014년 제1회 웹디자인 기능사 필기 기출문제 | 졸리운_곰 | 2014.01.26 | 846 |
6 | jQuery가 뭔가요? | 가을의 곰을... | 2013.12.11 | 756 |
5 | JSON(JavaScript Object Notation)사용법에 대해 | 가을의 곰을... | 2013.01.30 | 858 |
4 | JQuery Ajax로 Json사용 | 가을의 곰을... | 2013.01.30 | 1338 |
3 | jQuery에서 JSON 사용하기 (JSON to Object, Object to JSON) | 가을의 곰을... | 2013.01.30 | 1095 |
2 | JSON : Javascript Object Notation 간단 설명 | 가을의 곰을... | 2013.01.30 | 992 |
» | JavaScript 및 CCS 코드 은닉 (php의 경우) | 가을의 곰을... | 2012.11.12 | 1431 |