이 글은 주로 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
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";
출력 결과
관련 권장 사항:
WeChat 공개 계정 기사 페이지의 PHP 작성 방법 컬렉션
위 내용은 PHP로 암호화된 URL 수집을 방지하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!