サポート » プラグイン » really-simple-captcha/tmp内の画像ファイル(.png)とテキストファイル(.txt)が削除さ

  • 初投稿になります。よろしくお願いします。

    以下のLAMPの開発環境にて、先日siteguard-wp-pluginを導入させていただきました。

    centos 6.6
    apache 2.2
    mysql 5.6
    php 5.4

    日本製ですので扱いやすく便利に試用させていただいております。

    ただDebugBarプラグインにて、コメント欄のあるページにおいて、以下の数百の同様のwarningが出ていました。

    WARNING: wp-content/plugins/siteguard/really-simple-captcha/siteguard-really-simple-captcha.php:333 – unlink(/vagrant/wp-content/plugins/siteguard/really-simple-captcha/tmp/1087215572.png): Operation not permitted
    require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), include(‘/themes/*******/single-*****.php’), comments_template, require(‘/themes/*******/comments.php’), comment_form, do_action(‘comment_form_logged_in_after’), call_user_func_array, SiteGuard_CAPTCHA->handler_comment_form, SiteGuard_CAPTCHA->put_captcha, SiteGuardReallySimpleCaptcha->generate_image, SiteGuardReallySimpleCaptcha->cleanup, unlink

    トピックタイトルの通り、tmpフォルダに画像ファイルとテキストファイルが削除されず増え続けているのが原因のようで、削除することで数は減るのが確認できました。
    ただ本番環境で同様の状況となるとかなり面倒なことになることが予想されます。

    当該フォルダの.htaccessの設定は以下のようになっておりました。

    Order deny,allow
    Deny from all
    <Files ~ "^[0-9A-Za-z]+\.(jpeg|gif|png)$">
        Allow from all
        Satisfy Any
    </Files>

    サーバー設定の問題なのか等、私には判断つかねております。
    どうかご教授いただけますようよろしくお願いします。

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

    tmpフォルダのオーナーとパーミッションが、Apacheがファイルを削除できるものであるか、確認してみてください。

    よろしくお願いします。

    トピック投稿者 rockmon1000

    (@rockmon1000)

    jp-secure様

    制作会社様からご返信いただき、誠にありがとうございます。

    ご指摘の
    >tmpフォルダのオーナーとパーミッションが、Apache
    というキーワードで一つ、思い出しました。

    「Vagrant」を利用しているのですが、以前は設定ファイル「Vagrantfile」に、以下の共有フォルダ設定をしていたのですが、取り払っていました。
    Windows使ってますとPC内のパーミッションが疎かになってしまいますね。

    config.vm.synced_folder "./", "/vagrant", owner: 'vagrant', group: 'apache', mount_options: ['dmode=777', 'fmode=666']

    この設定でオーナーは’vagrant’のまま変えていません。
    ネットで調べ、グループだけを’apache’にする設定が主流のようでしたので。

    現在の仮想マシン(VirtualBox)のサーバー設定
    $ sudo vi /etc/httpd/conf/httpd.conf
    User apache
    Group apache
    
    現在の共有フォルダでは
    $ ls -la
    drwxrwxrwx 1 vagrant vagrant 143360  3月  9 13:26 2016 tmp
    
    共有フォルダ設定をすれば、変わります。
    $ ls -la
    drwxrwxrwx 1 vagrant apache 143360  3月  9 13:26 2016 tmp

    しかし、ご指摘の通り、オーナーはサーバー側と一致していないので、
    やはり画像ファイル・txtファイルは増え続けるようです。

    対策として、仮想マシン内サーバーの所有者を変更してみました。

    $ sudo vi /etc/httpd/conf/httpd.conf
    User vagrant
    Group apache

    変化はない?!
    戻して、Vagrantfileの設定をapacheに揃えてみました。

    $ sudo vi /etc/httpd/conf/httpd.conf
    User apache
    Group apache
    
    $ ls -la
    drwxrwxrwx 1 apache apache 143360  3月  9 19:36 2016 tmp

    ファイルが増えるのは確認しましたが、いつ削除されるかなどはまだわかりません。

    以上のような状況です。
    ご教授頂けると幸いです。よろしくお願いします。

    rockmon1000 さん こんにちは。

    Vagrantを使用した事例がなく、現時点で適切なアドバイスができません。

    ファイルの削除は、ファイルを生成する直前に、タイムスタンプが1時間以上前のものを対象に行っています。
    生成はできるが、削除はできない状況ですね。これがヒントになるかもしれません。

    よろしくお願いします。

    トピック投稿者 rockmon1000

    (@rockmon1000)

    jp-secure様
    ご返信ありがとうございます。

    下記の条件で
    siteguard-really-simple-captcha.phpをデバッグしてみました。

    $ sudo vi /etc/httpd/conf/httpd.conf
    User apache
    Group apache
    
    config.vm.synced_folder "./", "/vagrant", owner: 'apache', group: 'apache', mount_options: ['dmode=777', 'fmode=777']
    
    $ ls -la
    drwxrwxrwx 1 apache apache    tmp

    $minutes * 60 →  $minutes * 1 に変えたりしてみました。

    $file、$stat[‘mtime’]の値も問題なく、
    結局、333行目

    @unlink( $file );

    unlink関数が、falseを返すまでは確認しましたが、
    色々ググってみたものの、原因は特定できませんでした。
    残念ながら手詰まり状態といったところです。
    何かわかれば追記したいと思います。

    トピック投稿者 rockmon1000

    (@rockmon1000)

    rockmon1000です。
    お久しぶりです。

    最近、同環境にて、Contact Form 7 に本家?のReally Simple CAPTCHA(バージョン 1.9)を導入する機会があり、このスレッドの件を思い出しました。
    このReally Simple CAPTCHAでは、/wp-content/uploads/wpcf7_captcha内に、同様のpngファイルとtxtファイルが作成されますが、翌日確認すると(仕様通り?)消えていました。
    参考までにご報告させていただきました。
    よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「really-simple-captcha/tmp内の画像ファイル(.png)とテキストファイル(.txt)が削除さ」には新たに返信することはできません。