使わないauthor.phpの活用

無くても困らないけどあって困るもんじゃない程度の。

author.phpとは

まあざっくり言ってユーザーページなんだけど。

組み方によっては該当ユーザーが投稿した記事の一覧が見れたりする。

megefeps | MEGE's Factory
制作メモとか、趣味とか、雑記。

一覧に上がってくるのは「投稿」によるものなので、カスタム投稿は除外される。ということで、そのままだと使い勝手は良いものじゃない。

というか、要らなくね?って話でもある。ユーザー名はログインIDの代用にもなるわけで、アタックされるリスクもあるじゃんっていう、ノーガードだとめんどくさいことになる。

それにユーザーページとか使う機会そんなにないし。

管理用にしてしまう

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="robots" content="noindex">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <?php if(!is_user_logged_in()): ?>
    <meta http-equiv="refresh" content="0;URL=<?php echo home_url( '/' ); ?>">
    <?php endif; ?>
</head>
<body>
<?php if(is_user_logged_in()): ?>
<table>
  <tbody>
    <tr><th>user_login</th><td><?php the_author_meta( 'user_login', $author ); ?></td></tr>
    <tr><th>user_pass</th><td><?php the_author_meta( 'user_pass', $author ); ?></td></tr>
    <tr><th>user_nicename</th><td><?php the_author_meta( 'user_nicename', $author ); ?></td></tr>
    <tr><th>user_email</th><td><?php the_author_meta( 'user_email', $author ); ?></td></tr>
    <tr><th>user_url</th><td><?php the_author_meta( 'user_url', $author ); ?></td></tr>
    <tr><th>user_registered</th><td><?php the_author_meta( 'user_registered', $author ); ?></td></tr>
    <tr><th>user_activation_key</th><td><?php the_author_meta( 'user_activation_key', $author ); ?></td></tr>
    <tr><th>user_status</th><td><?php the_author_meta( 'user_status', $author ); ?></td></tr>
    <tr><th>display_name</th><td><?php the_author_meta( 'display_name', $author ); ?></td></tr>
    <tr><th>nickname</th><td><?php the_author_meta( 'nickname', $author ); ?></td></tr>
    <tr><th>first_name</th><td><?php the_author_meta( 'first_name', $author ); ?></td></tr>
    <tr><th>last_name</th><td><?php the_author_meta( 'last_name', $author ); ?></td></tr>
    <tr><th>description</th><td><?php the_author_meta( 'description', $author ); ?></td></tr>
    <tr><th>jabber</th><td><?php the_author_meta( 'jabber', $author ); ?></td></tr>
    <tr><th>aim</th><td><?php the_author_meta( 'aim', $author ); ?></td></tr>
    <tr><th>yim</th><td><?php the_author_meta( 'yim', $author ); ?></td></tr>
    <tr><th>user_level</th><td><?php the_author_meta( 'user_level', $author ); ?></td></tr>
    <tr><th>user_firstname</th><td><?php the_author_meta( 'user_firstname', $author ); ?></td></tr>
    <tr><th>user_lastname</th><td><?php the_author_meta( 'user_lastname', $author ); ?></td></tr>
    <tr><th>user_description</th><td><?php the_author_meta( 'user_description', $author ); ?></td></tr>
    <tr><th>rich_editing</th><td><?php the_author_meta( 'rich_editing', $author ); ?></td></tr>
    <tr><th>comment_shortcuts</th><td><?php the_author_meta( 'comment_shortcuts', $author ); ?></td></tr>
    <tr><th>admin_color</th><td><?php the_author_meta( 'admin_color', $author ); ?></td></tr>
    <tr><th>plugins_per_page</th><td><?php the_author_meta( 'plugins_per_page', $author ); ?></td></tr>
    <tr><th>plugins_last_view</th><td><?php the_author_meta( 'plugins_last_view', $author ); ?></td></tr>
    <tr><th>ID</th><td><?php the_author_meta( 'ID', $author ); ?></td></tr>
    <tr><th>role</th><td><?php the_author_meta( 'role', $author ); ?></td></tr>
  </tbody>
</table>
<?php endif; ?>
</body>
</html>

当然検索避け対象。ログインしてたらアカウント情報を表示、そうじゃなかったらトップページに飛ばす。みたいな。

無理やり役割をもたせるならこのくらいだよなって。

ログイン画面の変更

author.phpを使わなくても、だけど。

初期状態だとトップページのURLに/wp-admin/を足せばログインページに行ける。author.phpのurlとかでユーザー名が分かってしまえばあとはパスワードがわかればログインできるわけで、botかなんかでアタックされるリスクがある。だから管理画面ログインのURLは変更した方がいい。author.phpなら尚の事。

SiteGuard WP Plugin
SiteGuard WP Plugin は、管理ページとログインへの攻撃からの保護に特化したプラグインです。

最近どこでWPを入れてもこれが初期から入ってる感じがある。せっかくなので有効化するのがいいですね。

コメント

タイトルとURLをコピーしました