2013-08-08 4 views
3

자바 스크립트 (j 쿼리)로 작성된 코드를 숨길 수 있습니까? 나는 프로그램을 작성했고 두 개의 많은 load() 함수를 사용했다. 모든 사람이 내 페이지 주소를 볼 수 있습니다 위험합니까? 이처럼자바 스크립트로 작성된 코드를 숨길 수 있습니까?

뭔가 :

load('account/module/message/index.php'); 
load('account/module/ads/index.php'); 
load('account/module/stat/index.html'); 
+5

javascript가 클라이언트 측에서 실행되므로 사용자 브라우저가이를 볼 수 있어야합니다 ... 즉 사용자가 그것을 w로 볼 수 있음을 의미합니다. 엘. 어쨌든 PHP가 안전하다면 위험하지 않아야합니다. – smerny

+0

해커가이 코드와 변수를 공격 할 수 없습니까? – Saeid

+3

해커는 자바 스크립트가 필요하지 않으며 서버에 직접 연결됩니다. 서버 **는 자신을 보호해야합니다 **. – Esailija

답변

8

번호

자바 스크립트 그러므로 기록 된 모든 코드가 어떤 방식으로, 클라이언트에 직접 볼 (최종 사용자)이며, 클라이언트 측이다. 난독화할 수 있고 해독하기가 더 어려워 질 수 있지만 결국에는 여전히 액세스 할 수 있습니다.

보안이 중요하면 php 내에서 "비즈니스 로직"을 유지하고 JavaScript (예 : Ajax 호출)를 사용하여 액세스 할 수 있지만 끝점은 계속 표시됩니다.

2

당신 그래서 코드가 최종 사용자가 읽을 수 없습니다 YUI 압축기http://yui.github.io/yuicompressor/

같은 난독 도구를 사용하여 시도 할 수 있습니다 ...하지만 hidding는 것은 불가능

Hidding 값과 물건

을의 IT

값을 비공개로 유지하려는 경우 사용자가 읽을 수 없으므로 난독 화가 실제로 선택 사항이 아니지만 원본은 축소됩니다. 읽으려면 혼란 스럽지만 그것은 일이야. 아프다 ...

여기에서 선택한 것은 페이지가로드 될 때 해독되는 일종의 암호화를 사용하지만 힘든 작업이므로 base64, sha1 또는 원하는 문자열이나 값을 사용할 수 있습니다. 필요. 그러나 실제로 원한다면 누구든지 해독 할 수 있습니다.

3

클라이언트 쪽 코드를 "숨길"수는 없지만 대부분의 경우 웹 페이지 컨텍스트 내에서 무의미한 난독 처리가 필요합니다. 클라이언트에게 전달되는 코드는 다음과 같아야합니다. 어쨌든 URL을 obfsucate 할 수는 없습니다.

노출되지 않아야하는 부품은 노출시키지 마십시오. 서버 측 생성을 수행하고 필요한 것만 출력하고 "안전한"것은 무엇입니까? 로직이 간접적으로 노출되어 있기 때문에 (즉, 볼 수는 없지만 서버에서 수행하면서 로직을 숨기고 싶지만 AJAX를 사용하여 동적으로 전달하는 등) 두 가지를 혼합 할 때 문제가 발생할 수 있습니다. 결과는 다른 도메인에서 콘텐츠를 사용하기 위해 수집 될 수 있습니다.)

1

불행히도.

자바 스크립트는 웹 브라우저에서 클라이언트 컴퓨터에서 실행되며 소스 코드를 보는 사람은 자바 스크립트를 숨길 수 없습니다.

그러나 브라우저의 해당 페이지를 방문 할 경우 내부 정보가 표시되지 않으면 애플리케이션에 보안 위험이 발생하지 않습니다.

1

사용자가 코드에 액세스 할 수없는 모든 "비밀"코드를 서버에서 처리합니다. UI와 마찬가지로 "비공개"물건 만 클라이언트에게 보냅니다. 클라이언트에게 비밀 코드를 보내는 것을 피할 수 없다면 읽을 수 없도록 코드를 난독 처리하십시오.

1

외부 파일에 자바 스크립트 코드를 입력하십시오. 그리고 javscript 코드를 축소하면 도움이 될 것입니다.

는 자바 스크립트 코드가 최종 사용자에게 표시되도록, 자바 스크립트를 사용하는 모든 사이트에이 http://jscompress.com/

5

을 참조하십시오 축소 된 자바 스크립트로 일반 자바 스크립트로 변환합니다. 뿐만 아니라 최종 사용자는 디버그하여 언제든지 변수 내용이나 코드 자체를 변경할 수 있습니다.

에도 불구하고 수백만 개의 사이트가 자바 스크립트를 사용하며 많은 사이트가 안전한 것으로 간주됩니다. 요점은 최종 사용자가 JS 코드를 볼 수는 있지만 반드시 시스템이 안전하지 않다는 의미는 아닙니다. 시스템 작동 방식을 이해하고 시스템을 작성하면됩니다.

  • 당신이 당신의 JS 코드로 비밀 (예 : 암호 또는 비밀로 유지해야 비즈니스 로직을) 넣으면

    , 그때 그 비밀이 보호되지 않습니다

    는 여기에 몇 가지 포인터입니다. 이것을하지 마십시오. 그 세부 정보를 서버에 보관하십시오.

  • JS 코드가 어떤 종류의 유효성 검사를 수행하면 해당 유효성 검사가 무시 될 수 있으므로 서버 측 코드도 동일한 유효성 검사를 수행해야합니다.

  • JS 코드가 서버에서 코드를 실행하는 호출을 수행하는 경우 (예 : load(...) 호출의 경우 서버는 사용자가이를 수행 할 권한이 있는지 확인해야하며 JS 코드를 사용하여 해당 검사를 수행하지 마십시오.

2

확실히하지 때문에 자바 스크립트 실행 클라이언트 측 그러니 당신은 서버 측 스크립트에 (JSP/PHP/ASP)를 모든 작업을하거나 작게하다 /하는 것은 sepatate 파일로 이동 한 후 자바 스크립트 코드를 압축 가능합니다.

관련 문제