programing

WordPress - 메타 생성기 태그를 제거하려면 어떻게 해야 합니까?

showcode 2023. 3. 16. 22:01
반응형

WordPress - 메타 생성기 태그를 제거하려면 어떻게 해야 합니까?

태그는 다음과 같습니다.

<meta name="generator" content="Woo Framework Version 3.1.1" />
<meta name="generator" content="WordPress 3.5" />
<meta name="generator" content="Canvas 3.0" />

추가한 WordPress 버전 태그를 삭제하는 것을 이해했습니다.

remove_action( 'wp_head', 'wp_generator' ); // goes into functions.php

하지만 테마를 삭제하려면 어떻게 해야 하나요?meta태그?

삭제만 시도하고 있는 경우meta="generator" 행을 functions.param에 추가합니다.

remove_action( 'wp_head', 'wp_generator' );

레이어 슬라이더 메타 제너레이터를 제거하기 위한 솔루션을 찾고 있었는데, 제가 살펴본 몇 개의 웹 사이트 중 어느 곳에서도 많은 도움을 받지 못했습니다. WordPress 제너레이터나 WooCommerce와 같은 일반적인 플러그인에만 관련된 동일한 정보를 공유하고 있습니다.

문제는 모든 플러그인이 자체 후크 이름과 명명 규칙을 가지고 있기 때문에 모든 것을 배우거나 아는 것은 거의 불가능하다는 것입니다.가장 쉬운 방법은 PHP를 사용하는 일반 PHP를 사용하는 것입니다.preg_replace.

WordPress 4.7.2에서 테스트된 작업 코드입니다.내부 기능php는 이 코드에서 테마를 드롭하면 동작합니다.

//Remove All Meta Generators
ini_set('output_buffering', 'on'); // turns on output_buffering
function remove_meta_generators($html) {
    $pattern = '/<meta name(.*)=(.*)"generator"(.*)>/i';
    $html = preg_replace($pattern, '', $html);
    return $html;
}
function clean_meta_generators($html) {
    ob_start('remove_meta_generators');
}
add_action('get_header', 'clean_meta_generators', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);

저는 정규 표현을 사용해서meta태그는 등호 사이에 공백이 있는지 없는지에 대한 내용입니다.사용.ob_start전체 문서를 커버합니다.그 때문에,preg_replace머리글부터 바닥글까지.자세한 것은 이쪽ob_start또한 WordPress codex가 사용되어야 한다고 명시하는 경우가 있습니다.ob_start.

이것이 도움이 된다고 생각되면 엄지손가락을 붙여 다음 사람이 모든 메타 생성기를 망라하는 실제 솔루션을 찾을 수 있도록 하십시오.이러한 플러그인이나 플랫폼 개발자가 메타 제너레이터 버전 번호를 코드에 넣는 것은 보안이 나쁘다고 생각합니다.특히 진화하는 취약성은 항상 발견되고 있습니다.

WordPress 저장소에 이 작업을 수행하는 플러그인도 추가했습니다.

메타 생성기 제거

함수의 맨 아래에 있습니다.php 파일은 다음 php 스니펫을 추가합니다.

// hide the meta tag generator from head and rss
function disable_version() {
   return '';
}
add_filter('the_generator','disable_version');
remove_action('wp_head', 'wp_generator');

최근에 이 문제가 발생하여 클라이언트의 보안 및 스팸을 이유로 메타 태그를 삭제해야 했습니다.워드프레스의 메타제너레이터를 제거할 수 있었지만 테마는 woo 프레임워크를 사용하므로

remove_action('wp_head', 'wp_generator');

충분하지 않다.삭제하다

<meta name="generator" content="Woo Framework Version x.x.x" />

테마가 생성하는 메타 생성기 태그는 템플릿의 함수 끝에 이 행을 추가합니다.php

// remove the unwanted <meta> links
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 

이것은 Woo Framework 5.5.5에서 작동했습니다.제너레이터 메타 태그가 초기화되어 있는 위치를 찾으려면admin-init.php 및 "" " " " " 。woo_version() 과 " " " 입니다.woo_version_init()기능이 있어야 합니다.보통 아래에는 테마 소스 내에 폴더가 포함됩니다.

자동 생성된 WP 메타 태그를 제거한다는 내용의 플러그인의 소스 코드를 찾았습니다.그거 한번 해봐.

  • 플러그인 이름:WP 메타 삭제
  • 플러그인 URI: http://leekelleher.com/
  • 설명:각 웹페이지에서 자동 생성된 WP 메타 태그를 제거합니다.
  • 작성자: Lee Kelleher

아니!

테마의 템플릿(header.php 등)에 하드코드 되어 있는 경우는 수동으로 삭제해야 합니다.

그 이외의 경우는, 다음의 풀 솔루션을 사용해 모든 버전 태그를 삭제합니다.

// ============ removing inbuilt WP meta-tag ===========  http://stackoverflow.com/q/16335347/2377343  ========== //
  //if included in wp_head
    add_action( 'after_setup_theme', 'my_wp_version_remover' ); function my_wp_version_remover(){
        remove_action('wp_head', 'wp_generator'); 
    }
  //clean all responses from VERSION GENERATOR
    add_filter('the_generator',             'rm_generator_filter'); 
    add_filter('get_the_generator_html',    'rm_generator_filter');
    add_filter('get_the_generator_xhtml',   'rm_generator_filter');
    add_filter('get_the_generator_atom',    'rm_generator_filter');
    add_filter('get_the_generator_rss2',    'rm_generator_filter');
    add_filter('get_the_generator_comment', 'rm_generator_filter');
    add_filter('get_the_generator_export',  'rm_generator_filter');
    add_filter('wf_disable_generator_tags', 'rm_generator_filter');
                                    function rm_generator_filter() {return '';}
// ========================================================== //

다음 코드는 Woo Framework의 모든 제너레이터 태그를 제거합니다.Woo Framework 6.0.4와 Canvas 5.8.3 테마로 테스트했습니다.

// Remove the WooThemes version from the html headers
function no_woo_version ()
{
   return true;
}
add_filter ('wf_disable_generator_tags', 'no_woo_version');

다음은 WP 메타와 버전을 삭제하는 플러그인입니다.https://wordpress.org/plugins/wp-meta-and-version-remover/

이것은 구글에 의해 사이트킷을 찾지만, 어떤 것에 대해서도 수정할 수 있습니다. 기사와 그의 플러그인 덕분입니다.

add_action('get_header',function (){
    ob_start(function ($o) {
        return preg_replace('/\n?<.*?content="Site Kit by Google.*?>/mi','',$o);
    });
});
add_action('wp_head',function (){
    ob_end_flush();
   }, 992);

만약 당신이 당신의 ouw 커스텀 WordPress 테마를 만들었다면, meta의 generator에는 문제가 없을 것입니다.샘플의 iDid를 사용해 주세요.커스텀 함수처럼 선언하지 않으면 제너레이터가 없습니다.이렇게 JS스크립트나 내 테마의 스타일을 모두 컨트롤하려고 합니다.플러그인의 스타일이라면 잡이 좀 더 필요하겠네요.

하지만 무료 테마를 사용하면 100% 발전기가 있습니다.File Function을 추가합니다.php 1: http://sierra-group.in.ua/start-legkogo-rezhima-preprocesornoj-sborki-vashih-fajlov-stilej-i-skriptov.html/ #custom-register-styles-sctiprs

function disable_version() { return '';}
add_filter('the_generator','disable_version');
remove_action( 'wp_head', 'wp_generator');
remove_action('wp_head', 'woo_version'); 
function no_woo_version (){   return true;}
add_filter ('wf_disable_generator_tags', 'no_woo_version');

언급URL : https://stackoverflow.com/questions/16335347/wordpress-how-do-i-remove-meta-generator-tags

반응형