作者 刘锟

合并分支 'akun' 到 'master'

Akun



查看合并请求 !176
@@ -350,6 +350,15 @@ class HtmlCollect extends Command @@ -350,6 +350,15 @@ class HtmlCollect extends Command
350 if ($js_css_source) { 350 if ($js_css_source) {
351 foreach ($js_css_source as $vjs) { 351 foreach ($js_css_source as $vjs) {
352 $vjs_down = str_replace('"', '', $vjs); 352 $vjs_down = str_replace('"', '', $vjs);
  353 + if(strpos($vjs_down,'data:') !== false){
  354 + //过滤二进制文件
  355 + continue;
  356 + }
  357 + if(strlen($vjs_down) > 255){
  358 + //过滤太长文件
  359 + continue;
  360 + }
  361 +
353 $vjs_down_arr = parse_url($vjs_down); 362 $vjs_down_arr = parse_url($vjs_down);
354 $vjs_down_host = $vjs_down_arr['host'] ?? ''; 363 $vjs_down_host = $vjs_down_arr['host'] ?? '';
355 364
@@ -396,64 +405,6 @@ class HtmlCollect extends Command @@ -396,64 +405,6 @@ class HtmlCollect extends Command
396 } 405 }
397 } else { 406 } else {
398 $html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html); 407 $html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html);
399 -  
400 - if (substr($vs['url_complete'], -3, 3) == 'css' || substr($vs['url_complete'], -2, 2) == 'js') {  
401 -  
402 - $source_html = curl_c(getImageUrl($vs['url_complete']), false);  
403 -  
404 - if (substr($vs['url_complete'], -3, 3) == 'css') {  
405 - preg_match_all("/url\(['\"]?(\s*[^>]+?)['\"]?\)/i", $source_html, $result_source);  
406 - } else {  
407 - preg_match_all("/[large|thumb]+URL:['\"]+(\s*[^>]+?)['\"]+,/i", $source_html, $result_source);  
408 - }  
409 -  
410 - $js_css_source = $result_source[1] ?? [];  
411 - if ($js_css_source) {  
412 - foreach ($js_css_source as $vjs) {  
413 - $vjs_down = str_replace('"', '', $vjs);  
414 - $vjs_down_arr = parse_url($vjs_down);  
415 - $vjs_down_host = $vjs_down_arr['host'] ?? '';  
416 -  
417 - $cos = config('filesystems.disks.cos');  
418 - $cosCdn = $cos['cdn'];  
419 -  
420 - if ($vjs_down_host == $cosCdn) {  
421 - //过滤已经下载的  
422 - continue;  
423 - }  
424 -  
425 - if (empty($vjs_down_host) && substr($vjs_down, 0, 1) != '/') {  
426 - //相对路径  
427 - $url_arr = explode('/', $vs['url']);  
428 - $url_arr[count($url_arr) - 1] = $vjs_down;  
429 - $vjs_down = implode('/', $url_arr);  
430 - }  
431 -  
432 - $vjs_result = $this->url_check($vjs_down, $project_id, $domain, $web_url_domain, $home_url);  
433 - if (!$vjs_result) {  
434 - continue;  
435 - }  
436 -  
437 - if ($vjs_result['download']) {  
438 - $new_vjs = CosService::uploadRemote($project_id, 'source', $vjs_result['url_complete']);  
439 - if ($new_vjs) {  
440 - CollectSource::insert([  
441 - 'project_id' => $project_id,  
442 - 'origin' => $vjs_result['url'],  
443 - 'target' => $new_vjs,  
444 - 'created_at' => date('Y-m-d H:i:s'),  
445 - 'updated_at' => date('Y-m-d H:i:s'),  
446 - ]);  
447 - $source_html = str_replace($vjs, getImageUrl($new_vjs), $source_html);  
448 - }  
449 - } else {  
450 - $source_html = str_replace($vjs, getImageUrl($vjs_result['url_complete']), $source_html);  
451 - }  
452 - }  
453 -  
454 - CosService::uploadRemote($project_id, 'source', $vs['url_complete'], $vs['url_complete'], $source_html);  
455 - }  
456 - }  
457 } 408 }
458 } 409 }
459 410
@@ -350,6 +350,15 @@ class HtmlLanguageCollect extends Command @@ -350,6 +350,15 @@ class HtmlLanguageCollect extends Command
350 if ($js_css_source) { 350 if ($js_css_source) {
351 foreach ($js_css_source as $vjs) { 351 foreach ($js_css_source as $vjs) {
352 $vjs_down = str_replace('"', '', $vjs); 352 $vjs_down = str_replace('"', '', $vjs);
  353 + if(strpos($vjs_down,'data:') !== false){
  354 + //过滤二进制文件
  355 + continue;
  356 + }
  357 + if(strlen($vjs_down) > 255){
  358 + //过滤太长文件
  359 + continue;
  360 + }
  361 +
353 $vjs_down_arr = parse_url($vjs_down); 362 $vjs_down_arr = parse_url($vjs_down);
354 $vjs_down_host = $vjs_down_arr['host'] ?? ''; 363 $vjs_down_host = $vjs_down_arr['host'] ?? '';
355 364
@@ -396,64 +405,6 @@ class HtmlLanguageCollect extends Command @@ -396,64 +405,6 @@ class HtmlLanguageCollect extends Command
396 } 405 }
397 } else { 406 } else {
398 $html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html); 407 $html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html);
399 -  
400 - if (substr($vs['url_complete'], -3, 3) == 'css' || substr($vs['url_complete'], -2, 2) == 'js') {  
401 -  
402 - $source_html = curl_c(getImageUrl($vs['url_complete']), false);  
403 -  
404 - if (substr($vs['url_complete'], -3, 3) == 'css') {  
405 - preg_match_all("/url\(['\"]?(\s*[^>]+?)['\"]?\)/i", $source_html, $result_source);  
406 - } else {  
407 - preg_match_all("/[large|thumb]+URL:['\"]+(\s*[^>]+?)['\"]+,/i", $source_html, $result_source);  
408 - }  
409 -  
410 - $js_css_source = $result_source[1] ?? [];  
411 - if ($js_css_source) {  
412 - foreach ($js_css_source as $vjs) {  
413 - $vjs_down = str_replace('"', '', $vjs);  
414 - $vjs_down_arr = parse_url($vjs_down);  
415 - $vjs_down_host = $vjs_down_arr['host'] ?? '';  
416 -  
417 - $cos = config('filesystems.disks.cos');  
418 - $cosCdn = $cos['cdn'];  
419 -  
420 - if ($vjs_down_host == $cosCdn) {  
421 - //过滤已经下载的  
422 - continue;  
423 - }  
424 -  
425 - if (empty($vjs_down_host) && substr($vjs_down, 0, 1) != '/') {  
426 - //相对路径  
427 - $url_arr = explode('/', $vs['url']);  
428 - $url_arr[count($url_arr) - 1] = $vjs_down;  
429 - $vjs_down = implode('/', $url_arr);  
430 - }  
431 -  
432 - $vjs_result = $this->url_check($vjs_down, $project_id, $domain, $web_url_domain, $home_url);  
433 - if (!$vjs_result) {  
434 - continue;  
435 - }  
436 -  
437 - if ($vjs_result['download']) {  
438 - $new_vjs = CosService::uploadRemote($project_id, 'source', $vjs_result['url_complete']);  
439 - if ($new_vjs) {  
440 - CollectSource::insert([  
441 - 'project_id' => $project_id,  
442 - 'origin' => $vjs_result['url'],  
443 - 'target' => $new_vjs,  
444 - 'created_at' => date('Y-m-d H:i:s'),  
445 - 'updated_at' => date('Y-m-d H:i:s'),  
446 - ]);  
447 - $source_html = str_replace($vjs, getImageUrl($new_vjs), $source_html);  
448 - }  
449 - } else {  
450 - $source_html = str_replace($vjs, getImageUrl($vjs_result['url_complete']), $source_html);  
451 - }  
452 - }  
453 -  
454 - CosService::uploadRemote($project_id, 'source', $vs['url_complete'], $vs['url_complete'], $source_html);  
455 - }  
456 - }  
457 } 408 }
458 } 409 }
459 410