Spac 에서는 뷰를 이용해 화면을 출력할 때 사용자에게 보여지는 URL링크를 암호화 해서 출력 할 수 있습니다.
이렇게 암호화 된 URL을 통해 접근하면 Spac에서 자동으로 복호화 하여 원주소로 복원하여 접속할 수 있도록 도와줍니다.

예)

"/MyClass/MyMethod/param1/param2" 를 암호화 하여 처리하면
"/dkfhhlSDFsfskfldSDFdjkfasjfdkd" 형태로 만들어 링크를 걸어놓을 수 있습니다.

이후 웹페이지에서 암호화된 "/dkfhhlSDFsfskfldSDFdjkfasjfdkd" 로 접근하면 Spac 프레임웍이 암호화된 URL로 자동 판단하여
"/MyClass/MyMethod/param1/param2" 의 처리결과를 출력합니다.

URL 암호화 기능을 사용하면 외부에 자신의 웹페이지 링크를 제공할때 URL의 자세한 위치를 숨기거나, 암호화 키값 변경으로 이전에 알려진 URL을 사용할 수 없게 처리할 수도 있습니다.



Spac URL 암호화기능을 사용하려면 아래의 과정을 거칩니다.

1. Spac/controller/Controller.ini 설정
[Crypt URL]
useCryptUrl                = true

Controller.ini 파일내용 중 위의 내용이 있는 부분을 찾아 값을 "true" 로 설정합니다.

2. Spac/controller/Crypt.ini 설정
;Crypt Url Configuration
flag                = "a"                        ; 암호화URL 키값
className             = "Crypt"                            ; 암호화 클래스명
classPath            = "../Spac/controller/Crypt/Crypt.Class.php"    ; 암호화클래스 경로
encryptMethodName     = "encrypt"                            ; 암호화 메소드명
decryptMethodName    = "decrypt"                         ; 복호화 메소드명

   (1) 두번째 줄의 "flag" 에 지정된 값을 자신이 원하는 값으로 변경합니다.
   (2) 네번째 줄의  "classPath" 의 경로값을 "Spac" 경로가 맞는지 확인 한 후 맞지 않는경우 제대로 수정합니다.
   (3) 위의 두가지 설정값을 제외한 나머지 줄은 암호화 클래스를 수정하지 않는 한 기본값을 그대로 사용합니다.
       (사용자가 직접 암호화 클래스를 작성하거나 수정할 경우 직접 작성한 클래스 및 암호화/복호화 메소드를 지정합니다.)
         => 테스트가 끝나면 위의 암호화 클래스인 Crypt.Class.php 파일을 반드시 수정하신후 사용하시길 권장합니다.
             기본 암호화 클래스는 예제를 위해 단순하게 암호화 하는 코드가 들어있습니다.


3. view 파일에 링크 생성시 암호화 메소드를 사용하여 링크를 생성합니다.
sample.html
/MyClass/MyMethod/param1/param2
<?=$this->encryptUrl("/MyClass/MyMethod/param1/param2")?>

위의 예제에서 첫번째줄은 암호화를 하지 않았고, 두번째 줄은 암호화를 했습니다.

위 예제의 출력결과는 아래와 같습니다.
/MyClass/MyMethod/param1/param2
/a%3D%3DwLNl3QsF2cz9ST51UZ0h2bk9CchJXYtFzLwFmch1mMa



암호화된 URL을 통해 접근할 경우 Spac 이 자동으로 복호화해서 처리합니다.


실제 적용되는것을 확인하시려면 http://www.phpwork.kr/View/Login 로 이동하신 후 아이디/비밀번호 찾기 링크를 클릭해보시면 암호화된 URL로 이동하는것을 확인하실 수 있습니다.


Posted by webdata