マメに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」に設定するようにしましょう。
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の属性変えましたか!? そのままにして置いたらとても危険ですよ。私も知らず知らずそのま&webcss.withrun.org […]