보안에 약간의 도움이 될 수있는 간단한 질문입니다. readme.html 파일에 버전 번호가 나열되어 있습니다. 각 업그레이드 후에 다시 나타나며 licence.txt 및 wp-config-sample.php도 나타납니다.
업그레이드 후 WordPress에서 이러한 파일을 자동으로 제거하는 쉬운 방법이 있습니까?
메타 태그, RSS 피드, 원자 등에서 버전 번호가 표시되지 않도록 차단했습니다.
나는이 보안 유형이 정확히 아니라는 것을 알고 그 많은 도움이 있지만, 그냥 작은 시작이 될 줄 알았는데. 사람들이 WP-include에 포함 된 jQuery 버전을 확인하고 어떤 버전의 WP가 제공했는지 상호 참조 할 수 있다고 들었습니다.
답변
실제로 이러한 파일을 제거 할 필요는 없습니다. 액세스를 차단하는 것이 훨씬 쉽습니다. pretty URL을 사용하는 경우 이미 .htaccess 파일이 있습니다. .htaccess를 사용하여 파일을 차단하는 것은 안전하며 지시문을 한 번만 추가하면됩니다.
파일 차단은 다음과 같이 .htaccess에 지시문을 추가하여 수행됩니다.
<files filename.file-extension>
order allow,deny
deny from all
</files>
따라서 readme.html을 차단하려면 다음을 수행하십시오.
<files readme.html>
order allow,deny
deny from all
</files>
라이센스 파일 또는 다른 사람이 액세스하지 못하게하려는 다른 파일과 동일하게 수행하십시오. 메모장이나 다른 기본 텍스트 편집기에서 .htaccess를 열고 지시문을 추가하고 저장하여 텍스트 편집기가 파일 이름을 정확하게 유지하는지 확인하십시오.
답변
여기 내 테이크가 있습니다 :
RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
- 존재에 대한 단서를 피하기 위해 403 (금지) 대신 404 (존재하지 않음).
- 하위 폴더에도 (예 : 공격 기회를 제공 할 수있는 테마 및 플러그인)
- 대소 문자를 구분하지 않고 확장 가능하며 README.html 또는 license.html을 포착합니다 (changelogs | faq | 기여와 같은 일반적인 용의자를 자유롭게 추가하십시오)
개인적으로 나는 또한 차단할 것이다 :
RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]
nb :
- ‘? :’는 대괄호가 일치하지 않는 것으로 선언합니다 (중요하지 않음).
- RewriteEngine이 필요합니다
on
. - .htaccess 의 섹션 앞에 삽입
# BEGIN WordPress
하십시오.
답변
add_action('core_upgrade_preamble','my_function_to_delete_files');
편집 : 당신은 또한 이것을 시도 할 수 있습니다
add_action('upgrader_pre_install','my_function_to_delete_files');
add_action('upgrader_post_install','my_function_to_delete_files');