2012-01-11 3 views
2

모든 브라우저 불일치를 처리 할 때 JQuery의 AJAX 호출을 사용하는 웹 응용 프로그램을 만들고 있습니다.JQuery AJAX 코드 보안 가이드?

그러나 브라우저에서 코드를 매우 쉽게 읽을 수 있으므로 공격으로부터 웹 응용 프로그램을 보호하기 위해 사용할 수있는 보안 조치에 대한 우려가 있습니다.

분명히 액세스하려는 데이터에 액세스 할 수 있도록 서버 측 코드에 대한 인증 확인을 수행 할 것입니다. 그러나 나는 또한 CSRF 공격을 막을 수있는 방법을 찾아 보았을뿐만 아니라 브라우저의 View Source를 통해 쉽게 읽을 수 없도록 코드를 '숨기 게하는'방법을 연구했습니다.

보안 수준을 높이려면 어떤 단계를 밟아야합니까?

또한 PHP를 통해 jquery 스크립트에 데이터를 주입하는 것이 좋지 않습니까?

감사합니다.

+3

[자바 스크립트 코드 보안 방법?] (http://stackoverflow.com/questions/3438923/how-to-secure-the-javascript-code) –

+1

실행되는 코드를 보호 할 방법이 없습니다. 원격 클라이언트 시스템. 사용자로부터 전송되는 모든 것이 공격이라는 가정하에 클라이언트 측 코드를 작성해야합니다. 모든 인풋을 살균하고, 발신자를 인증하고, 요청의 무결성을 보장하고, 부인 방지 등을하십시오. – Daisetsu

답변

2

주요 질문에 대한 쉬운 대답은 없습니다. OWASP guide on CSRF prevention을 읽고 거기에서 가야합니다.

자바 스크립트를 난독 화하는 데 사용할 수있는 옵션이 많이 있지만 그 중 아무 것도 코드의 보안을 높일 수는 없습니다. 공격자가 난독 화 된 코드를 정말로 읽고 싶다면, 직접 손으로 선택하거나 파서를 작성하여 간단히 해독 할 수 있습니다. 가능한 보안 기술이 아닙니다.

또한 PHP를 통해 jquery 스크립트에 데이터를 주입하는 것이 좋습니다.

세상에 아무런 문제가없는 한 그 데이터를 보는 것은 좋지 않습니다. 데이터가 중요한 경우에는 서버 쪽을 유지하거나 소금으로 해시 한 다음 해시 된 값을 스크립트에 삽입하는 것이 좋습니다. 물론,이 해시는 클라이언트 측에서 소금을 포함하면 안되기 때문에 클라이언트 측에서 사용할 수 없습니다 (이것은 처음부터 데이터를 난독 화하는 목적을 상쇄합니다). 해당 데이터를 사용하려면 서버로 다시 처리하여 처리해야합니다.