2012-05-01 10 views
5

私たちは、ModXインストールでいくつかの異なるリソースを保護しようとしています。 (MODxのもののすべてを含まない)、次のように現在の.htaccessコードがあるhtaccessとhtpasswdを使用してModX Webサイトのリソースをパスワードで保護するにはどうすればよいですか?

AuthName "Dialog prompt" 
AuthType Basic 
AuthUserFile /var/www/vhosts/mywebsite.co.uk/.htpasswd 

<FilesMatch ^index.php\?q=71$> 
    require valid-user 
</FilesMatch> 

運動の目的は、以下のリソースを保護することです:

私はLocationsMatch、Locations、Files、Filesmatchのさまざまな組み合わせを試しており、動作させることはできません。

ありがとうございました

+1

私はこう言っています。これらのディレクティブのマニュアルを読んでください。少なくともこれまでに試したものが* http://httpd.apacheで動作しない理由を洞察できます。org/docs/current/mod/core.html#filesmatch – hakre

+0

すべての単語を読み、私が調べることができるすべてのオプションを試しました。これが必要としているのは、この問題を達成するための経験がある人で、これはかなり一般的でなければなりません。 – user1346416

+1

なぜ、.htaccessを使用していて、modxのリソース/セキュリティ管理に組み込まれていないのですか? –

答えて

0

これは、トータルソリューションが何であったかである:誰が知っている必要がある場合は、私が呼ばれるpasswordprotectスニペットを作成し、ページの一番上に置く

:[ [passwordprotect]]をクリックします。

<?php 

if(isset($_SERVER['PHP_AUTH_USER']) && ($_SERVER['PHP_AUTH_USER']=='user') &&  ($_SERVER['PHP_AUTH_PW']=='password')) 
{ 
    echo 'You are successfully logged in.'; 
} else { 
    header('WWW-Authenticate: Basic realm="Protected area"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Text to send if user hits Cancel button'; 
    exit; 
} 

EDIT:私は、次のコード(上記応答の適応)に入れて使用しているため動作しません、時にはあなたは、これは時々仕事をしていることを見つけている場合と、これはおそらくある[[passwordprotect] ]、modxはスニペットをキャッシュします。私はより良い成功を収めました:[[!passwordprotect]] on Revolution。私はコードが[!passwordprotect!]であると思う。感嘆符はスニペットをキャッシュしないことを示しています。誰かを助けることを願って!

+0

これは時々動作し、時にはうまくいかないことが判明した場合、これはおそらく[[passwordprotect]]を使うと、modxがスニペットをキャッシュするためです。 – user1346416

+0

また、キャッシュされたスニペットには、新しいユーザーではなくPREVIOUSユーザーが認証されている場合があります。正しい実装については以下をお読みください。 –

0

これを行う理由はまったくなく、MODX Revolution ACLの目的をすべて無効にします。正解は次のとおりです。

  1. リソースにアクセスできる最小限の役割を持つユーザーグループを確立します。
  2. リソースグループ内にテストリソースを作成します。
  3. サイト管理者をリソースグループに追加します。
  4. リソースグループにテストユーザーを作成します。
  5. サイトキャッシュを更新します。
  6. 自分自身を含め、すべてのユーザーをログアウトします。
  7. ACLをテストします。マネージャとフロントエンドの両方でサイト管理者を使用します。
  8. 完全に異なるブラウザを使用してログアウトするか、テストユーザーとテストします。
  9. 作業が終了したら、保護された文書をリソースグループに移動します。
  10. アクセス権を持つグループにユーザーを追加します。
  11. スニペットを削除します。

さらに詳しい情報が必要な場合は、私の書籍のコピーを入手するか、自分のサイトをご覧ください。

関連する問題