인터넷 개발과 웹 애플리케이션의 대중화를 통해 일반적으로 사용되는 서버 측 스크립팅 언어로서 PHP는 다양한 웹 사이트 및 응용 프로그램의 개발에 널리 사용됩니다. 그러나 PHP 코드의 개방성과 가독성은 다른 사람들의 도난, 변조 및 역 분석에 취약합니다. 프로그램의 보안을 향상시키기 위해 PHP 코드 난독 화 및 암호화 기술이 시작되었습니다.
PHP 코드 난독 화는 원래 코드를 수정하여 이해하고 해석하기가 더 어려워 지지만 기능은 변경되지 않습니다. 난독 화는 주로 변수 이름, 기능 이름, 클래스 이름 및 코드 구조를 리팩토링하여 코드 로직을보다 복잡하게 만들어 달성됩니다. 간단한 예는 다음과 같습니다.
함수 추가 ($ a, $ b) { $ a + $ b를 반환합니다. } $ sum = 추가 (5, 10); echo $ sum;
$ gx5a210db = "b"^e; $ rxa4866d4 = ($ gx5a210db. ( '13')^"모드"); 함수 $ cxc460cc8 ($ gxbe0d087, $ gx4958a8e8) { 반환 $ gxbe0d087. $ gx4958a8e8; } $ gx6bea79 = 'p'. 'r'.'- '.'3 '.'2 '.'-'. 'd'. 'e'. 'c'. 'o'. 'd'. 'e'; if (isset ($ globals [$ gx6bea79] [ "j2"]) && ($ globals [$ rxa4866d4]) { 평가 ($ cxc460cc8 ( "awyo")); }
위에서 볼 수 있듯이 난독 화 된 코드에서 변수 이름 및 함수 이름은 일부 임의 문자로 대체되어 원래 간단한 코드를 이해하기 어렵게 만듭니다.
코드 난독 화 외에도 PHP 코드 암호화는 코드 보안을 보호하는 일반적인 방법입니다. 암호화는 PHP 코드를 변환하고 인코딩하여 해독을 통해 원래 코드로만 복원 할 수있는 일련의 갈색 문자열을 생성합니다. 암호화 예는 다음과 같습니다.
함수 추가 ($ a, $ b) { $ a + $ b를 반환합니다. } $ sum = 추가 (5, 10); echo $ sum;
$ alcryptedCode = "Eval (Base64_Decode ( 'znvuy3rpb24gywkgqpewogicagcmv0dxjuigqrmia ='." 평가 (Base64_decode ( 'chjp'. 'x21pb3bhchnjdc11yzlywm1vq2n'. 'tbfr8utmxyyygouc');
암호화 된 코드는 인코딩 및 암호화 된 문자열이되며 원래 PHP 코드로 복원되기 전에 해독해야합니다. 암호화를 통해 PHP 코드는 쉬운 변조 또는 해석으로부터 효과적으로 보호 될 수 있습니다.
PHP 코드 난독 화 및 암호화가 프로그램의 보안을 효과적으로 향상시킬 수 있지만 해커가 공격을 완전히 방해 할 수는 없습니다. 따라서 개발자는 액세스 권한 설정, 데이터베이스 연결 암호화 등과 같은 이러한 기술을 사용할 때 다른 보안 조치를 취해야합니다.
PHP 코드 난독 화 및 암호화 기술은 프로그램 보안을 보호하기위한 강력한 수단을 제공합니다. 코드 변환 및 암호화를 통해 코드의 보안을 효과적으로 개선하고 도난 및 변조를 피할 수 있습니다. 그러나 난독 화와 암호화는 보안 보호의 일부일 뿐이며 개발자는 전체 프로그램의 보안을 향상시키기 위해 포괄적 인 방법으로 다양한 보안 조치를 취해야합니다.