ASP 클래식 코드를 MySQL 데이터베이스에 저장하고 끌어올 때 코드를 실행하도록 할 수 있습니까? 예를 들어 변수 이름을 문자열에 저장하고 표시하기 전에 ASP를 실행하게 하시겠습니까? 페이지가 로드된 후에 MySQL 요청이 실행되어 반환 데이터가 실행되지 않고 변수 이름만 실행되기 때문에 이것이 가능하지 않다고 생각합니다. 또 다른 점은 HTML 인코딩일 수도 있고 MySQL 서버에 전달한 후 인코딩될 수도 있지만 지금까지는 변수 이름만 읽는 것뿐입니다. 이에 대한 아이디어가 있습니까? 이것이 불가능합니까? 아니면 어떻게든 인코딩을 해제합니까?
다른 곳에서도 작동하는 Chr 대체 함수를 사용해 이렇게 코딩해 보았는데, 함수의 사용법은 다음과 같습니다.
으아악인코딩 여부에 관계없이 결과에는 다음과 같은 ASP 클래식 코드만 표시됩니다.
으아악인코딩은 화면에 표시된 문자열을 변경하지 않는 것처럼 보이지만 로그 결과에는 데이터를 넣는 대신 문자 유형을 다음과 같이 변환하는 인코딩 시도가 표시됩니다.
으아악코딩으로 잘못된 나무를 짖을 수도 있지만, 망치가 있으면 나사가 들어갈 때까지 두드려볼 수 있습니다.
나처럼 문자열을 데이터베이스에 저장한 다음 데이터베이스 입력에 넣는 대신 문자열을 꺼낸 후 문자열에 변수를 추가하는 것이 더 쉬운 방법이기 때문에 이 기능은 현재 나에게 어렵습니다. 물론 이는 사용자가 오류 메시지와 관련된 변수를 통해 오류 메시지를 제어할 수 없다는 것을 의미하지만 나는 그 문제를 감수할 수 있다고 생각합니다.
이를 함수로 수행하라는 유사한 질문이 있습니다. 게시물의 나머지 부분을 읽으면 차이점이 있음을 알 수 있습니다.
네, 가능합니다. 기본 ASP는 소스 코드가 포함된 텍스트 문자열을 전달할 수 있는 Eval, Execute 및 ExecuteGlobal 메서드를 제공합니다.
공개된 웹사이트에서 이 작업을 수행하는 것은 위험합니다. 네트워크 웜이 데이터베이스 테이블에 임의의 코드를 작성하는 방법을 알고 있다면 애플리케이션을 방해하거나 손상시키거나 하이재킹할 수 있습니다. 당신은 편집증 환자가 아닙니다. 적극적인 낯선 사람들이 실제로 당신에 대해 음모를 꾸미고 이런 방식으로 운영되는 사이트를 찾고 있습니다. 조심하세요.
Eval(codeText) 표현식을 실행하고 결과를 반환합니다. ExecuteGlobal(codeText) 최상위 컨텍스트에 있는 것처럼 실행합니다. Execute(codeText) 호출된 컨텍스트(서브루틴 또는 함수)에서 실행합니다.