2009-07-21 11 views
0

Safariで.htaccessで保護されているページにフォームを送信できません。
私は私のテストページが低下している:私は上記のページは問題なく動作します.htaccessファイルを削除した場合Safariが.htaccessサイトのフォームで動作しない

<html> 
<body> 

<?php 
    if(isset($_REQUEST["name"])) 
    echo "<p>You entered: ", $_REQUEST["name"], "</p>"; 
?> 

    <form method='post' action='index.php'> 
    <p><input type='text' NAME='name'> 
    <input type='submit' name='send' value='Send'></p> 
    </form> 

</body> 
</html> 

。この.htaccessファイルのSafariで
は、ページのロードを終えることはありません:

AuthUserFile /xxxx/xxxx/.htpasswd 
AuthGroupFile /xxxx/xxxx/.htgroup 
AuthName Members 
AuthType Basic 

<Limit GET POST> 
    require group XXXXX 
</Limit> 

ErrorDocument 401 /errors/401.php 

この問題の回避策はありますか?

更新

私は.htaccessファイルでPOSTの制限を削除することができます。

<Limit GET> 
    require group XXXXX 
</Limit> 

を意味している。これは、上記のテストケースのために働くだろうが、私はもうでは記録されませんその:私は$_SERVER["PHP_AUTH_USER"]

  • へのアクセスを持っていない

    1. 私が持っていますセキュリティホール

    アイデアはありますか?

    アップデート2

    私は(ErrorDocument 401 /errors/401.php)上記の.htaccessファイルに不足している行を追加し、常にサンプルのすべてを(私はこれを知っているはずだ)を含むように個人的な注意喚起を行いました。

    ErrorDocument 401 /errors/401.php 
    

    Safariは.htaccessファイルのようなのErrorDocumentが含まれている場合(POSTを制限).htaccessにより保護されているページにフォームを送信することはできません。Marie Fischerからのコメントに助けられ、それはことが判明します

  • 答えて

    1

    あなたの例は他のブラウザでも使用できますか?それはグループの代わりにrequire userで動作しますか?サーバーのエラーログを見ましたか?

    編集:私はあなたの例を使用して簡単なテストを行い、すべて正常に機能しました。

    +0

    IE、Firefox、WindowsのChrome 2で動作します。 FirefoxはMacで動作することがあります。 必須グループと必須ユーザーの間に違いはありません。 サーバーのログに特別なものが見つかりませんでした。 –

    +0

    WindowsのSafariはどうですか? Macで問題が発生している場合は、ブラウザを完全に閉じようとしましたか(小さな赤い点はできません。メニューから終了してください)、新しく始めましょうか? –

    +0

    テストいただきありがとうございます。私はこれをさらに追求しました...上記の問題に対する解決策を見てください。 私はSafari Windowsでテストしています。 –

    0

    フォームのあるページでHTTP認証を行うとどうなりますか?それから、あなたはログインしていて、うまくいくはずです。または?

    +0

    おそらく、セキュリティ問題を再考する必要があります。 –

    関連する問題