>  기사  >  백엔드 개발  >  PHP로 암호화된 URL 수집을 방지하는 방법의 예

PHP로 암호화된 URL 수집을 방지하는 방법의 예

小云云
小云云원래의
2018-03-21 16:22:102703검색

이 글은 주로 PHP로 암호화된 URL 수집을 방지하는 방법의 예를 공유합니다. 이 글이 모든 사람에게 도움이 되기를 바랍니다.

인터넷에는 다양한 수집 도구가 있는데 어떻게 수집하나요?

이 URL은 매우 규칙적이며 (블로그-) + 숫자로 구성됩니다. 컬렉션은 이 URL 패턴을 사용하여 웹페이지를 대규모로 자동 수집합니다.

웹사이트가 수집되는 것을 더 효과적으로 방지하는 방법은 무엇인가요? URL의 (키 번호) 부분을 암호화할 수 있습니다.

암호화 방법을 제공합니다. 생성된 암호화된 URL은 짧고 안정적이며 무작위가 아닌 암호화 방법으로 SEO에 친화적입니다. 알고리즘은 자체 연구를 수행합니다.

/**
 * 加密数字方法
 *   echo idEncode(222);
 * @author uuleaf[<uuleaf#163.com>] 小叶
 * @param int $int 要加密的数字
 * @return string 加密后的字符串
 */
function idEncode($int)  
{  
    $str = md5($int);  
    $sarr = str_split($str);  
    $stai = (ord($str) + 8) % 10;  
    if ($stai == 0) $stai = 8;  
    $idstr = base_convert($int * $stai, 10, 32);  
    $str1 = substr($str, 10, 2);  
    $str2 = substr($str, 14, 2);  
    $str3 = substr($str, 18, 2);  
    return $str1 . $idstr . $str2 . $stai . $str3;  
}  

解密方法

/**
 * 解密数字方法
 *   echo idDncode("");
 * @author uuleaf[<uuleaf#163.com>] 小叶
 * @param string $str 要解密的数字
 * @return int 解密后的数字
 */
function idDecode($str)  
{  
    $idstr = substr(substr($str, 2), 0, -5);  
    $ji = base_convert($idstr, 32, 10);  
    $si = (int)substr($str, -3, -2);  
    return floor($ji / $si);  
}

Test

  1. echo "加密前的网址:http://thinkphp.cn/blog-54.html";  
    echo "\n";  
    $encode_str = idEncode(54);  
    echo "加密后的网址:http://thinkphp.cn/blog-{$encode_str}.html";  
    echo "\n";  
    $decode_str = idDecode($encode_str);  
    echo "还原后的网址:http://thinkphp.cn/blog-{$decode_str}.html";


출력 결과          

관련 권장 사항:

3가지 PHP 데이터 수집 방법

WeChat 공개 계정 기사 페이지의 PHP 작성 방법 컬렉션

PHP 사용 컬 컬렉션

위 내용은 PHP로 암호화된 URL 수집을 방지하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.