POTI改 設置サポート掲示板

NSFW:

[104] 管理用パスワード認証で拒絶されます


おの ID:551ee1e5 24/07/23

はじめまして。
今回初めてPOTI-boardをDL・設置させていただきました。

昨日久しぶりに管理人投稿をしようとパスワードを入力したつもりが間違っていたようで、「拒絶されました。」とエラー画面が出ました。
その後正しいパスワードを入力しても、同じエラー画面が出て投稿できなくなってしまいました。
config.phpでパスワードを設定し直したりしても変更が反映されず、ログ更新もできないため、途方に暮れています。
 「管理者パスワードを5回連続〜」は初期設定のまま「しない: 0」にしています。「templates/errorlog/error.log」も探してみたのですが、見つからず…

知識不足で申し訳ございません。もし対処方法がございましたら、ご教示いただけますと幸いです。

さとぴあ@管理人 ID:195a4062 24/07/24

お絵かき画面は問題なく表示できますでしょうか?
管理パス以外だとすると、対応していないブラウザの可能性もあります。
あとは、templates/errorlog/error.logが実際には存在しているとしても、
何か私が思い違いをしているのでなければ、「しない: 0」の場合は「拒絶されました。」のエラーは、でない設計になっているはずです。
憶測なので間違っていたら申し訳ないのですが、
config.phpの設定ファイルがどこか別のディレクトリに存在していて、転送しているものとは違う個所を操作している可能性です。
これは私が時々ドハマリするケースからの憶測です。
違っていたらすみません。
templates/errorlog/error.log
を削除するスクリプトを書いて、
potiboard.phpと同じ階層にいれることも考えましたが、
とりあえず3日経過したら自動削除機能がPetit NoteにはあってPOTI-boardには無かったので、実装しようと思います。
templates/errorlog/error.log
は、
templates/ディレクトリに
basic/
mono/
errorlog/
のように並んで存在している可能性が高いのですが、本当に存在していないのであればお絵かき画面でも発生するエラーの可能性が高いです。
これは同じオリジンからの投稿しか許可しないセキュリティ機能で、外部サイトからの投稿を制限しています。
その場合は、本当に同じオリジン以外から投稿しているか、ブラウザが非対応かもしれません。

さとぴあ@管理人 ID:195a4062 24/07/24

例えば、対策されていない古い掲示板だとできてしまうのが
掲示板の入力画面をブラウザでPCに保存してデスクトップ等から投稿。
または、ブログに画面をインラインフレームで読み込んでそこで操作といった事を行うと拒絶される可能性があります。
掲示板の通常の画面でも発生するとしたら、ブラウザ名も知りたいです。
またはheaderを偽装する拡張機能のようなものが入っているとやはり「拒絶されました。」というエラーになる可能性があります。
あれから、
として、パスワードを5回間違えて拒絶されましたエラーが出たあとで

// 管理者パスワードを5回連続して間違えた時は拒絶する
// する: 1 しない: 0
// する: 1 にするとセキュリティは高まりますが、ログインページがロックされた時の解除に手間がかかります。

define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");

に設定を戻してどうなるか確認しましたが、単にパスワードが違いますとなるか、パスワードが通って処理が実行されるかどちらかになりました。

つまり、

define("CHECK_PASSWORD_INPUT_ERROR_COUNT", "0");

で、 設定値が"0"で間違いないのであれば、あとは、
check_same_origin関数の個所しか考えられません。

さとぴあ@管理人 ID:195a4062 24/07/24

error(MSG049);
という個所を
先頭に // をつけて無効化して
//error(MSG049);
とすると動作するとしたら
同一オリジンチェックにひっかかっています。
セキュリティ的にはこのチェックは外したくありませんが、
とりあえず一時的にでもエラーを解消したいのであれば
error(MSG049);

//error(MSG049);
に書き直した
potiboard.phpに差し替えれば
とりあえず動作するはずです。
なぜなら、「拒絶されました。」
というエラーメッセージがでる個所は二個所しか存在しないからです。

さとぴあ@管理人 ID:29f6b6bd 24/07/25

一応POTI-boardのバージョンをあげて、パスワード間違いが記録されているログファイルをftp接続で削除しなくても3日経過すればロックが解除できるようにして、さらに、拒絶しない設定に一度戻せばロックの原因になっているファイルも削除されるようにはしてみたのですが、
たぶん、同一オリジンチェックのほうで拒絶されましたというエラーがでているんでしょうね…。
管理者パスワードの呼び出し画面が外部サイトにあるとかでなければ、エラーにならないはずなんですけどね。
何か見落としがあるのかもしれません。
念のため調べてはみますが、情報量も足りないので難しいですね。

おの ID:551ee1e5 24/07/25

ご回答いただきありがとうございます!
ご確認いただいた点につきまして、

>お絵描き画面の表示
拒絶エラーが起こる前も、問題なく表示・操作できていました。

>config.phpの格納ディレクトリ
「potiboad5」の直下にありました。
FTP転送の際に違う場所へコピーしたかもと思い、様々なディレクトリを探しましたがありませんでした。

>同じオリジン以外から投稿
通常のブラウザ(GoogleChrome、Safari)でアクセスしています。拡張機能も使っていませんでした。

>error(MSG049);を無効化
実行したところ、ひとまず拒絶エラーは出なくなりました!

色々とご確認や、自動削除機能の追加など迅速なご対応に大変感謝申し上げます。自分の環境だけの原因かもしれずすみませんが、原因が解明できれば何よりです。

さとぴあ@管理人 ID:29f6b6bd 24/07/26

error(MSG049);
は二個所ありますが、
//パスワードを5回連続して間違えた時は拒絶
のところと
check_same_origin
のどちらがひっかかっているかわかりますでしょうか。
もし、
'HTTP_ORIGIN'という文字が近くにあるところだけ
error(MSG049);を無効化
して管理者パスワードが通るようになるのであれば、そこのオリジンチェックを無効化するオプションを追加して、設定してもらうという対処ができると思います。
ただ、
'HTTP_ORIGIN'
のところだとすると、Paintボタン押下でお絵かき画面を出す事もレスをつける事もできないはずですので、
だとすると、管理者パスワードの間違い連続5回のところが予想できない何かになっている可能性があります。
管理者パスワード間違いで拒絶の設定になっていなければこちらテスト環境では、拒絶されないので、config.phpが正しくサーバにアップロードされているのかどうかは気になります。
手元のconfig.phpとサーバにあるpotiboard5/ディレクトリ内のconfig.phpの内容が同じかどうか。
例えば、ftp接続してconfig.phpをデスクトップ等の別の場所にダウンロードして、開いてみた時に拒絶する設定になっているなっていない等です。
追加情報をいただけるようでしたら、それにあわせて対応を検討します。

さとぴあ@管理人 ID:29f6b6bd 24/07/26

あとは、ChromeとSafariという事は、iPadとかになりますでしょうか。
だとすると、ChromeでもエンジンはSafariなので、ブラウザの関係かもしれません。
WindowsでもテストできるSafariのエンジンで試してみます。

さとぴあ@管理人 ID:29f6b6bd 24/07/26

テスト環境のSafariでは問題がでませんでした。
あとは、できるとしたら、同一オリジンチェックを投稿時に行う行わないのチェックを無効化するオプションの追加ぐらいしか対応策は思い浮かびません…。
ただ、やっぱりそれだとこの掲示板にも投稿できないはずですので、パスワードのほうなのか、同一オリジンなのかの切り分けはしたいですね。
管理パス以外では拒絶されない
→管理パス関連の処理の問題?
管理パス以外のレスの投稿やお絵かき画面の呼び出しでも拒絶される
→同一オリジンチェックの問題?

せめてこれらは調べたいですが、
やっぱり、同一オリジンチェックをするしないのオプションを付けるぐらいしか対応策がないかもしれません。

追加の情報があるようでしたら、よろしくお願いします。

おの ID:551ee1e5 24/07/27

>’HTTP_ORIGIN'という文字が近くにあるところだけerror(MSG049);を無効化
こちらの方法で管理用パスワードが通りました。(//パスワードを5回連続〜だけだと、拒絶エラーが出ます。)
そしてお絵描きもレスもできないはずとのことですが、どちらも問題なくできました。管理パス以外でのレス投稿も可能です。

>手元とサーバーのconfig.phpの内容が同じかどうか
どちらも拒絶しない設定になっていました。

>ChromeとSafariという事は、iPadとかになりますでしょうか
MacでChrome、iPadやiPhoneでSafariを使用しています。

確認できたのは以上の通りですが、もし他に必要な情報がございましたら引き続きご確認のほど、よろしくお願いします。(自分では何が作用してるか、心当たりがなくすみません!)

さとぴあ@管理人 ID:29f6b6bd 24/07/27

お手数をおかけします。
https://github.com/satopian/poti-kaini/issues/16

ここの「potiboard.zip」のリンクからzipファイルをダウンロードして、
中に入っている
potiboard.phpと差し替えてみていただけないでしょうか。
何が変わっているかというと、
エラー
拒絶されました。
から、
エラーの中身が具体的なホスト名になります。
ただ、これは設置している場所のホスト名が入ってしまいますので、そこまで報告していただかなくてもいいのですが、
例えば
sakura.ne.jp:sakura.ne.jp
ならエラーにならないし
sakura.ne.jp:sakura.com
なら
:で区切った左右が違うので、エラーになっている事がわかります。
もし:の片方には文字があって、もう一方には文字化けか空白があるとかであれば対応方法がまた変わります。
管理者パスワードを入力→テスト用のpotiboard.php使用時のエラーの内容がだいたいどんな感じになるかを教えていただく事はできますでしょうか?

さとぴあ@管理人 ID:29f6b6bd 24/07/27

あとは可能性というか、すべて憶測でしかないのですが、
その他の投稿やお絵かき画面では拒絶されない、管理者ログインのときにだけ拒絶される理由がどうももやもやしていて、
考えられるとしたら、
管理者ログイン画面のところだけ
http://
で、
その他は
https:// の保護された通信
で、内部的にリダイレクトがかかっているとか?
ある日突然エラーがでるようになったとしたらSafariのブラウザキャッシュが原因かもしれない?とかですかね。
とりあえずは、上記テストのお願いのほか、同一オリジンの取得に失敗したときにはエラーにならないように緩和する処理への書き換えはやってみているところです。

おの ID:551ee1e5 24/07/27

zipファイルをDLして差し替えてみたところ、:で区切られた左右が、異なる文字列でエラーが出ました。

ここで気づいたのですが、(憶測としておっしゃられていることにも近いのですが)今まで掲示板を設置しているサーバーのドメインのうち共有SSLの方でアクセスしていて、そこで管理人パスワードを打つと拒絶されていました。
通常のドメインでアクセスすると、管理人認証を問題なく通ることができました。(以前問題なく投稿できていたのも、通常ドメインからアクセスしていた時でした)

おの ID:551ee1e5 24/07/27

もしかしますと、投稿をする時だけ通常ドメインからアクセスし投稿すればよい、という初歩的な問題だったかもしれません…!
その場合は、コードでの対応策は必要ないかと思われます。
ここまで探っていただいた中、大変お手数おかけしまして申し訳ございません!このこと以外にお気づきの点がなければ、解決とさせていただきたいと思います。

さとぴあ@管理人 ID:29f6b6bd 24/07/27

では解決という事で。
他にも同じ問題が発生する人がいるかもしれませんから、今回の事例のログは決して無駄にはならないと思います。
ありがとうございました。

おの ID:551ee1e5 24/08/03

返信に期間が空いてしまい申し訳ございません。
改めまして、原因解明のため様々ご対応いただき誠にありがとうございました。
終始管理人様のお力に頼りきりでお手数をおかけしてしまいましたが、原因と対応の方法が明確になり大変助かりました…!

お絵かき掲示板は自分にとって思い出深く、この時代でも個人で開設できることや、現在もサポートしていただけることに、深く感謝いたします。これからもよろしくお願いいたします!
Name :
URL :

Password:


[HOME / Admin]
Petit Note v1.50.9 Template BASIC
OekakiApp - PaintBBS NEO , Tegaki , Axnos Paint , Klecks , ChickenPaint Be
UseFunction - DynamicPalette , Lightbox