サポート » プラグイン » password-protect-wordpress(private blog)などでのパスワード保存について

  • いつもお世話になっております。

    password-protect-wordpress(private blog)
    やpassword protectについてですが、

    社内の情報共有用のサイトをwordpressで作成して、BASIC認証を使って閲覧の制限を
    かけていたのですが、postexpiratorで記事の予約処理を行う必要性が出てきて、
    BASIC認証だと動かないため、その代替になるものとして、上記のプラグインを見つけて
    今使っております。

    しかし、利用するメンバーから毎回パスワードを打ち込むのは非常に手間だと言われて
    しまって改善策を提示しないといけなくなってしまいました。

    正直その時点でセキュリティにおいては、どうなのかな?という気もしますが、最低限のセキュリティは維持しつつパスワードを保存できるか、ログイン後のセッション保持時間を長くして、
    利便性を高めて欲しいという要求をされています。

    そこで、ログインページのソースを見ると、実際にパスワードを打ち込むフォームに入った
    データをhiddenで隠されたinputがパスワード情報を受取り、判定を行っているため、パスワード保存がスルーされるのではないかと思っています。

    そこで…

    ブラウザにパスワードを保存させるためのカスタマイズ、もしくはこれを実現させるための別のプラグインなどないでしょうか?

    password-protect-wordpress(private blog)については有料版を買えば、ログインのセッションを長くできるようなのですが、最長どのくらいcookieを保持できるものなのか?というのも実際に有料版をお使いの方がいらっしゃいましたら、教えてくださると助かります。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは

    password-protect-wordpressをインストールしてみました。

    使い方が悪いのかもしれませんが、トップページでログインフォームが表示された状態(未ログイン?)で

    wp-content/uploads/画像ファイルへの直接アクセス
    月別アーカイブへの直接アクセス

    ができてしまうようなのですが、tak7910さんの環境では、それらのアクセスはできないように動作していますか?

    plugin.phpの100行目ぐらいに

    $defaultTimeout = 60*60*24;//1 day

    がありますが、ログイン後のタイムアウトの設定っぽいですが、テスト済みですか?

    ログアウトは、どのようにすればいいのかな、と思っていますが、ログアウトするときは、どうしていますか?

    トピック投稿者 tak7910

    (@tak7910)

    nobita様

    カテゴリーやアーカイブに試しにアクセスしてみましたが、正常にパスワードがかかってました。画像まではきちんと試せてはないですが、最悪画像に関しては他の方法でロックをかけるなどで対応すれば良さそうですね。

    初期設定のタイムアウトの設定ですが、試しに720(30日)とかに設定して、ログインしましたが、cookieの設定は、相変わらず翌日でした。
    有料版がある以上、ここはロックがかかっているか、もしくは追加ファイルでの対応なのかもしれません。

    初期設定のタイムアウトの設定ですが、試しに720(30日)とかに設定して、ログインしましたが、cookieの設定は、相変わらず翌日でした。
    有料版がある以上、ここはロックがかかっているか、もしくは追加ファイルでの対応なのかもしれません。

    プレミアム設定なのかもしれないですね

    実験的な話なら、

    以下の、$expire = 60;みたいに、強制的にexpireを設定してやれば、クッキーのタイムアウトは、コントロールできるんじゃないかと思います。

    pluginCallbacks.phpの

    function setCookie() {
    		$loginNonce = wp_create_nonce( $this->_slug( "loggedin" ) );
    		$expire = $this->_settings()->fetchSetting( "timeout_length" )->getValue();
    		$expire = 60;
    		if( $expire != 0) {
    			$expire = time() + $expire;
    		}
    		if( !headers_sent() ) {
    			setcookie( $this->_slug( "loggedin" ), $loginNonce, $expire, COOKIEPATH, COOKIE_DOMAIN );
    		}
    	}

    最悪画像に関しては他の方法でロックをかけるなどで対応すれば良さそうですね。

    非ログインユーザーだけを対象にロックするうまい方法を考えてみてください。

    うまい方法があったら、ちょっとだけおすそ分けいただけるとうれしいです。

    トピック投稿者 tak7910

    (@tak7910)

    nobita様

    アドバイスありがとうございました。
    早速、ご指摘いただいた部分を弄って、30日分の
    $expire = 60;
    の箇所を2592000に変えたら、保持期限が30になりました。
    ありがとうございました。

    実際の動作もテストしましたが、PCの再起動をしてもcookieは保持したままで、
    システムの時計を10日ほど進めても保持したままで、30日進めると
    見事に再度パスワードを要求されました。

    ありがとうございます。

    画像に関してはアクセスできてしまいますが、これは.htaccessとかでの
    制御とかになるのかなぁという予想を軽くしてますが、
    一旦はやりたいことが出来ましたが、念のため、もう少しだけpremiumのライセンス
    購入を行った人へも確認したいと思いますので、その間に少し調べてみます。

    トピック投稿者 tak7910

    (@tak7910)

    実際にやってみた結果ですが、1日を過ぎてしまうと再度認証を求められてしまいました。

    cookieともう一個何かしらのカウンターで、24時間制限を超えると解除されてしまうようです。

    $defaultTimeout = 60*60*24;//1 day

    この部分の24の数字を720に変えて試してみているのですが、
    効果が分かるのが最短で明日になります。

    パスワード保存ができれば、認証を求められてもクリックやエンターだけで済むのでいいとは思うのですが、いい方法はありませんでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「password-protect-wordpress(private blog)などでのパスワード保存について」には新たに返信することはできません。