テーマをCocoonに変更しました!

そのままでは危ないWordPressの設定

PAK86_seisakudb20140517_TP_V

マメにWordPressの属性変えましたか!?

そのままにして置いたらとても危険ですよ。私も知らず知らずそのままにしていた一人ですwww

WordPressで理想的なパーミッションのまとめ

パーミッション設定は、環境や運用面などで適切な設定は変わってきます。
ここでは一般的におすすめされているファイルのパーミッションを纏めてみました。

.htaccess

「604」か「606」

「.htaccess」ファイルが書き換えられる事例が多発しており、パーミッション設定は必須です。パーマリンクの設定が出来るようにするには「606」にします。

wp-config.php

安全なのは「400」

オーナーのみが呼出できる「400」が最も安全な設定になります。

インストーラ(レンタルサーバーなどで用意されている自動インストールなど)でwp-config.phpを作った場合、パーミッションはレンタルサーバーによって異なってきます。「646」や「666」になっていた場合、オーナーは「Apache」になってしまうので、自分自身では変更できません。

そういった場合はFTPソフトなどでwp-config.phpをダウンロードして、サーバー上のwp-config.phpを削除して、再アップロードします。これでオーナーが自分になり、パーミッションの設定ができるようになります。

また共有サーバーの場合「400」で設定できない場合も多いようで、WordPress.org では「600」を推奨しています。

その他のファイル・ディレクトリ

細かく設定することもできますが、一般的には

その他のディレクトリは「705」
その他のファイルは「604」

でいいようです。

WordPressの管理画面でテーマの編集やファイルのアップロードができない場合は、「themes」や「uploads」を「707」などに変更する必要があります。これはサーバーの仕様によって違うかも知れません。

パーミッションを「777」「666」などに設定した場合、「誰でも書き込める」状態になっています。くれぐれもそのように設定しないよう注意することが肝心です。

注意:

パーミッションの真ん中の設定「グループ」は、共用サーバー内のユーザーのことです。つまり「グループ」権限を付与すると、共用サーバー内の他人があなたのホームページにあるファイルを勝手に削除したり、書き換えたりすることができるようになります。

共用サーバーでグループを利用していない場合は、パーミッションの真ん中の数字は必ず「0」に設定するようにしましょう。

http://wordpress-custom.jp/security/security-permission-2.html

wp-config.php は外部から見えないようにする

.htaccess に以下を記述

<files wp-config.php>
	order allow,deny
	deny from all
</files>

ログインページを変える

1)ログインページをwp-login.php、wp-adminから別ページに変える ユニークなログインページを配置する

wp-login.phpの変わりとなる新しいログインページのソースコード

<?php
define( 'ANYWHERE_LOGIN', sha1( 'keyword' ) );
require_once './wp-login.php';
?>

このログインページのファイル名は任意で構わないが、適度に長いファイル名が望ましい(ここでは’anywhere-login.php’)。配置場所は、wp-login.phpと同じディレクトリとする。

2)テーマのfunctions.phpを書き換える ここは現在のテーマのfunctions.phpを書き換えることにする。追加する内容は次の通りだ。

define( 'ANYWHERE_LOGIN_PAGE', 'anywhere-login.php' );
add_action( 'login_init', 'anywhere_login_init' );
add_filter( 'site_url', 'anywhere_login_site_url', 10, 4 );
add_filter( 'wp_redirect', 'anywhere_login_wp_redirect', 10, 2 );
if ( ! function_exists( 'anywhere_login_init' ) ) {
	function anywhere_login_init() {
		if ( !defined( 'ANYWHERE_LOGIN' ) || sha1( 'keyword' ) != ANYWHERE_LOGIN ) {
			status_header( 403 );
			exit;
		}
	}
}
if ( ! function_exists( 'anywhere_login_site_url' ) ) {
	function anywhere_login_site_url( $url, $path, $orig_scheme, $blog_id ) {
		if ( ( $path == 'wp-login.php' || preg_match( '/wp-login\.php\?action=\w+/', $path ) ) &&
			( is_user_logged_in() || strpos( $_SERVER['REQUEST_URI'], ANYWHERE_LOGIN_PAGE ) !== false ) )
			$url = str_replace( 'wp-login.php', ANYWHERE_LOGIN_PAGE, $url );
		return $url;
	}
}
if ( ! function_exists( 'anywhere_login_wp_redirect' ) ) {
	function anywhere_login_wp_redirect( $location, $status ) {
		if ( strpos( $_SERVER['REQUEST_URI'], ANYWHERE_LOGIN_PAGE ) !== false )
			$location = str_replace( 'wp-login.php', ANYWHERE_LOGIN_PAGE, $location );
		return $location;
	}
}

詳しい説明は以下を参考にして下さい

ログインページを変える:WordPress私的マニュアル

WordPressリファレンス)WordPressのコラム: ログインページを変える - ログインページをwp-login.phpから別ページに変える

IPアドレスを制限する

コメント

    ブログ管理者などによく売れてる本です