0

Drupal 7 サイトに CAPTCHA および ReCAPTCHA モジュールがインストールされていますが、キャッシングに問題があります (通常の問題ではありません! )。問題は、ユーザー登録ページに CAPTCHA を表示する必要があることですが、[管理] -> [パフォーマンス] -> [すべてのキャッシュをクリア] でキャッシュを手動でクリアするまで、この CAPTCHA の表示が停止することがあります。

Chrome の匿名ウィンドウでチェックして、Drupal が私を認識せず、CAPTCHA を表示しないことを確認しています。CAPTCHA の永続性設定を「常にチャレンジを追加する」に設定しています。

CAPTCHA とキャッシュ設定の両方をいじってみましたが、何も影響がないようです。オンラインの他のすべての情報は、CAPTCHA ページでキャッシュを再度有効にする方法に関連しているようですが、私の問題は逆です。

また、他の Drupal 7 ビルドでも問題なく CAPTCHA を使用できましたが、このビルドに問題がある理由がわかりません。

サイトはhttp://respirometry.orgです。ユーザー登録ページに移動すると、CAPTCHA が表示される場合と表示されない場合がありますが、手動でキャッシュをクリアした時間の長さによって異なります。

Drupal のログを調べたところ、CAPTCHA が機能しなくなった直後に file_temp_location に関するエラーが発生していることに気付きました。Admin -> File System に移動し、"Temporary Directory" を /tmp に変更しましたが、エラーはスローされません。

このエラーは、ISPConfig がサイトをセットアップした方法に関連しているようです。openbasedir 設定がわずかに異なる drupal.respirometry.org または respirometry.org のいずれかを介してアクセスできるため、私のオプションは一時ディレクトリを /tmp に設定するか、両方のサイトで openbasedir 設定を変更してアクセスできるようにすることです。互いの一時ディレクトリ。

4

1 に答える 1

1

The issue was caused by an invalid temp file location. The nature of the server and HTTP host aliasing caused some requests to not be able to write to the temp location. This caused a cascade that prevented the CAPTCHA from working. I modified the aliases to all redirect to the main URL, and changed the temp folder to /tmp just for good measure, and the CAPTCHA has remained intact for over 24 hours without issue.

于 2012-10-12T22:12:09.120 に答える