0

人気のあるフォーラムソフトウェア(phpBB)と統合したWebサイトがあります。メインサイトに自動的にログインするユーザーがフォーラムソフトウェアにもログインするように設定しました。これを行うには、フォーラムのAPIを介して同時に認証します。

誰かがサイトに登録すると、エントリはメインサイトデータベースに入力され、エントリはフォーラムユーザーデータベースに入力されます(フォーラムAPIを使用)。

フォーラムユーザーテーブルのプライマリIDは、メインサイトのユーザーDBの列に格納されます。これは登録時に保存されます。登録プロセスでは、最初にフォーラムユーザーが作成され、次にメインサイトでユーザーを作成するクエリにIDが返されます。

ユーザーがログインするときに、メインサイトで認証すると、そのIDが取得され、フォーラムログインAPIに渡されて、正しいユーザーにログインします。

ただし、奇妙なことがランダムに発生するようです。登録する30人または40人に1人が、メインサイトのユーザーテーブルに自分のものではないフォーラムユーザーIDで終わることになります。私はこれらの問題を探してケースバイケースで修正する方法を知っており、そうするためのスクリプトを用意していますが、それは修正ではなく、より強引なようです。

これは、このようなデータをリンクするときによくある問題ですか、それともソフトウェアに固有の問題のように見えますか?この問題はランダムであるため、デバッグが困難でした。

4

2 に答える 2

1

セッション管理を疑います。意図的または意図せずにセッション ID を再利用していますか?

于 2009-01-22T22:16:00.530 に答える
0

フォーラムのmysqlデータベースを直接使用してメインサイトと他のサイト(すべて同じマシン上にある)を認証することにより、vbulletinと同様のことを行いました...

あなたの場合、phpBBデータベースにないサイト固有のフィールドをサイトのデータベースに追加し、user_idによってphpbbにリンクします...これは、2つのデータベースに挿入されるメインサイトの1つのフォームである可能性があります(一部メインサイトのデータベース、phpBBデータベースのその他のデータベース(いくつかの特権フィールドを含む)では、xとyをランダムな数字として使用して、歪んだ画像「x + yとは」を生成するなど、独自の非標準のキャプチャを使用します。他の操作、または「ORANGEという単語を入力してください」または「ユーザー名をもう一度入力してください」の画像に置き換えられます

デフォルトのphpBB登録を無効にします...それを使用する方法を知っているボットはたくさんあります...

これにより、情報のソースが1つになり、すべての情報を一度に入力できるようになります。

于 2009-03-02T12:11:01.447 に答える