테스트 사이트 - 개발 중인 베타 버전입니다

암호화시 특수문자 관련이슈 채택완료

더블카트 4년 전 조회 1,513

어쩌다보니 

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

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

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

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

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

 

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

abcd0987^때는 됩니다.

 

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

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

현재는 꼭 필요합니다.

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

원인 좀 알 수 있을까요?

 

</strong></p>

<p><?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;

?></p>

<p><strong>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

특수문자를 걸려 주는 기능이 있는지

호스팅 업체에 문의해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인