암호화시 특수문자 관련이슈

암호화시 특수문자 관련이슈

QA

암호화시 특수문자 관련이슈

답변 1

본문

어쩌다보니 

PHP 5.2에서 crypt()를 쓰게 되었는데,

암호화가 필요한 스트링뒤에 특수문자가 2개가 들어가면

PHP 5.2를 지원하는 특정 호스팅 서버에서는 

'페이지가 작동하지 않는다'(ERR_EMPTY_RESPONSE)가

표시가 되네요. 다른 PHP 5.2 호스팅에서는 잘 되고요.

 

예를들어 스트링이 abcd0987^^일 경우엔 차단돼 버리고,

abcd0987^때는 됩니다.

 

이게 호스팅의 PHP 설정과 연관이 있는 것 같은데,

보안문제가 있어도 업그레이드 작업이라

현재는 꼭 필요합니다.

아래 구문을 바꿔서는 안되는데

원인 좀 알 수 있을까요?

 


<?php
function x_pass($pass){
    $Ta1=substr($pass,-1,1);
    $Ta2=substr($pass,-2,1);
    $Ta3=substr($pass,-3,1);
    $Ta4=substr($pass,-4,1);
    $cryptword=$Ta1.$Ta2.$Ta3.$Ta4;
    $firstcrypt=crypt($cryptword,$Ta2.$Ta3);
    $Ta1=substr($firstcrypt,-1,1);
    $Ta2=substr($firstcrypt,-2,1);
    return crypt($pass,$Ta1.$Ta2);
}
$x_pass = "abcd0987^^";
$x_pass_ch=x_pass($x_pass);
echo $x_pass_ch;
?>

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 34
© SIRSOFT
현재 페이지 제일 처음으로