作者 赵彬吉

update

@@ -334,19 +334,30 @@ class RelayInquiry extends Command @@ -334,19 +334,30 @@ class RelayInquiry extends Command
334 $page_url = [$re_website . 'contact-us/']; 334 $page_url = [$re_website . 'contact-us/'];
335 } 335 }
336 } 336 }
  337 +
337 // 所有可用url 338 // 所有可用url
338 $urls = $inquiry_urls = []; 339 $urls = $inquiry_urls = [];
339 - $urls[] = $inquiry_urls[] = $re_website; 340 + //入口url 首页30%,单页10%,聚合页60%
  341 + $type = getRandByRatio([30,10,60]);
  342 + $inlet = $re_website;
  343 + $type == 1 && $inlet = $page_url ? Arr::random($page_url) : $re_website;
  344 + $type == 2 && $inlet = $keywords_url ? Arr::random($keywords_url) : $re_website;
  345 + $urls[] = $inquiry_urls[] = $inlet;
340 $all_urls = array_merge($urls, $product_url, $product_cate_url, $keywords_url, $page_url); 346 $all_urls = array_merge($urls, $product_url, $product_cate_url, $keywords_url, $page_url);
341 $inquiry_urls = array_merge($urls, $product_cate_url, $keywords_url, $page_url); 347 $inquiry_urls = array_merge($urls, $product_cate_url, $keywords_url, $page_url);
342 348
343 - // 随机访问1-3个页面 349 + // 随机访问1-6个页面
  350 + $deep = rand(1,6);
  351 + if($deep > 2) {
344 $visit_urls = Arr::random($all_urls, rand(1, count($all_urls) > 3 ? 3 : count($all_urls))); 352 $visit_urls = Arr::random($all_urls, rand(1, count($all_urls) > 3 ? 3 : count($all_urls)));
345 $urls = array_merge($urls, $visit_urls); 353 $urls = array_merge($urls, $visit_urls);
  354 + }
  355 + if($deep > 1) {
346 // 推送着落页只能是 首页、产品分类、单页面、聚合页 356 // 推送着落页只能是 首页、产品分类、单页面、聚合页
347 - if(!in_array(end($urls), $inquiry_urls)){ 357 + if (!in_array(end($urls), $inquiry_urls)) {
348 $urls[] = Arr::random($inquiry_urls); 358 $urls[] = Arr::random($inquiry_urls);
349 } 359 }
  360 + }
350 361
351 $this->output('获取转发ip'); 362 $this->output('获取转发ip');
352 // TODO 获取IP:如果是简码,查询数据库获取对应的国家, 如果是国家使用翻译, 再转化成IP 363 // TODO 获取IP:如果是简码,查询数据库获取对应的国家, 如果是国家使用翻译, 再转化成IP
@@ -987,20 +987,41 @@ if (!function_exists('check_domain_record')) { @@ -987,20 +987,41 @@ if (!function_exists('check_domain_record')) {
987 return false; 987 return false;
988 } 988 }
989 } 989 }
  990 +}
990 991
991 - /** 992 +/**
992 * 邮箱脱敏 993 * 邮箱脱敏
993 * @author zbj 994 * @author zbj
994 * @date 2024/10/25 995 * @date 2024/10/25
995 */ 996 */
996 - function email_desensitize($email){ 997 +function email_desensitize($email){
997 $parts = explode('@', $email); 998 $parts = explode('@', $email);
998 $username = $parts[0]; 999 $username = $parts[0];
999 $domain = $parts[1]; 1000 $domain = $parts[1];
1000 $maskedUsername = substr($username, 0, -4) . '****'; 1001 $maskedUsername = substr($username, 0, -4) . '****';
1001 $maskedDomain = '****.' . substr($domain, -5); 1002 $maskedDomain = '****.' . substr($domain, -5);
1002 return $maskedUsername . '@' . $maskedDomain; 1003 return $maskedUsername . '@' . $maskedDomain;
  1004 +}
  1005 +
  1006 +/**
  1007 + * 按比例取值 [10,30,60]
  1008 + * @author zbj
  1009 + * @date 2024/10/25
  1010 + */
  1011 +function getRandByRatio($proArr){
  1012 + $result = '';
  1013 + $proSum = array_sum($proArr);
  1014 + foreach ($proArr as $key => $proCur) {
  1015 + $randNum = mt_rand(1, $proSum);
  1016 + if ($randNum <= $proCur) {
  1017 + $result = $key;
  1018 + break;
  1019 + } else {
  1020 + $proSum -= $proCur;
  1021 + }
1003 } 1022 }
  1023 + unset ($proArr);
  1024 + return $result;
1004 } 1025 }
1005 1026
1006 1027