>  기사  >  웹 프론트엔드  >  JavaScript에서 eval 함수를 사용하는 방법과 그 위험

JavaScript에서 eval 함수를 사용하는 방법과 그 위험

不言
不言원래의
2018-12-24 14:12:085497검색

eval 함수는 특정 문자열을 계산하고 그 안에 있는 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험 코드를 실행할 수 있습니다. 그러면 eval 함수의 구체적인 용도는 무엇입니까? 이 기사에서는 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험의 eval 함수의 사용법과 보안 성능을 소개합니다.

JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험

먼저 eval 함수의 기본 구문을 살펴보겠습니다.

eval(string)

이와 같은 문자열을 넣으면 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험 코드를 자유롭게 전달하고 조작할 수 있습니다.

특정 코드를 살펴보겠습니다

document.write(eval("1+1")+"<br>");
var k=10;
document.write(eval(k+20)+"<br>");

첫 번째 줄은 문자열 "1 + 1"을 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험 코드로 가져와 계산 결과를 "2"로 표시합니다. line은 표시될 때 줄 바꿈을 사용합니다.

두 번째 줄은 변수 k에 숫자 "10"을 넣습니다. 여기서는 문자열 k + 20을 매개 변수로 지정했지만 실제로 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험 코드에서는 "30"의 계산 결과를 표시합니다.

이때 코드에서는 문자열로 전달된 숫자의 계산식을 프로그램으로 처리하여 eval 함수를 통해 문자열의 숫자값이나 변수로 계산하게 됩니다.

위 코드 실행 결과는 다음과 같습니다

JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험

마지막으로 eval 함수 사용에 따른 위험성을 살펴보겠습니다

eval 함수 사용에는 다음과 같은 위험성이 있습니다


1에서 준비한 악성 JavaScript에서 eval 함수를 사용하는 방법과 그 위험에서 eval 함수를 사용하는 방법과 그 위험 코드입니다. 제3자도 마음대로 구현할 수 있습니다.

2. 일반 자바스크립트 프로그램에 비해 실행 속도가 느리고, 성능도 저하됩니다

그래서 실제로 우리는 일반적으로 eval 함수를 사용하지 않으며, 이제는 대부분의 처리를 eval 함수 없이 실행할 수 있습니다.

이 기사는 여기서 끝납니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 칼럼을 참고하세요! ! !

위 내용은 JavaScript에서 eval 함수를 사용하는 방법과 그 위험의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.