私はあなたが何をしようとしているのかはっきりしていません。
考えられる解決策は最後ですが、最初に、パスワードをチェックする方法を説明します。
md5(md5(pass+salt))元のテキストパスワードがデータベースに保存される方法です。
フォーラムの上部にあるログインフィールドからログインすると、JavaScriptを使用してmd5(password)、ユーザー名とパスワードがサーバーに送信される前に実行されます。JavaScriptが有効になっていない場合、プレーンテキストのパスワードが投稿されます。
このverify_authentication()関数は、パスワードを検証するために3つのアプローチを試みます。
if (
$vbulletin->userinfo['password'] != iif($password AND !$md5password, md5(md5($password) . $vbulletin->userinfo['salt']), '') AND
$vbulletin->userinfo['password'] != iif($md5password, md5($md5password . $vbulletin->userinfo['salt']), '') AND
$vbulletin->userinfo['password'] != iif($md5password_utf, md5($md5password_utf . $vbulletin->userinfo['salt']), '')
)
プレーンテキストのパスワード($password)が送信された場合、それを通過させmd5(md5(pass+salt))、データベースからのハッシュされたパスワードと比較されます。
$vbulletin->userinfo['password'] != iif($password AND !$md5password, md5(md5($password) . $vbulletin->userinfo['salt']), '')
パスワードがJavaScript($md5password)によってハッシュされた場合、パスワードは渡さmd5(pass+salt)れ、データベースからのハッシュされたパスワードと比較されます。
$vbulletin->userinfo['password'] != iif($md5password, md5($md5password . $vbulletin->userinfo['salt']), '')
パスワードがJavaScriptによってハッシュされ、UTFが使用されている場合($md5password_utf)、パスワードは渡さmd5(pass+salt)れ、データベースからのハッシュされたパスワードと比較されます。
$vbulletin->userinfo['password'] != iif($md5password_utf, md5($md5password_utf . $vbulletin->userinfo['salt']), '')
特定のユーザー名でパスワードなしでログインできるようにする場合は、login_failureフックを使用してプラグインを追加してみてください。pluinはユーザー名を確認し、使用している特定のユーザー名と一致する場合は、ログインプロセスを続行できます。プラグインには次のものが含まれます。
if ($vbulletin->GPC['vb_login_username'] == 'your_username')
{
exec_unstrike_user($vbulletin->GPC['vb_login_username']);
process_new_login($vbulletin->GPC['logintype'], $vbulletin->GPC['cookieuser'], $vbulletin->GPC['cssprefs']);
do_login_redirect();
}