Karena saya perlu menggunakan ini untuk alasan pekerjaan, saya melakukan penelitian.
Ide utamanya adalah untuk mensimulasikan COOKIES. Pertama masukkan ID pengguna dan SessionID ke dalam Cookie, lalu masukkan SessionID dan ID pengguna ke dalam tabel sesi di database. Jika Buka forum dan sistem akan memverifikasi apakah informasi COOKIES sama dengan informasi di database. Jika sama, login otomatis dapat dilakukan. Kode utama untuk bagian login adalah sebagai berikut:
<?php
//Dapatkan SESSIONID acak 32-bit
//Inisialisasi setiap nilai
$Session_testId=buat_sess_id(32);
$SessionIp='192.168.0.100';
$cookie_path='/';
$cookieName='phpbb3_1w36a';
$userBrowserInfo= $_SERVER["HTTP_USER_AGENT"];
$userIpAdd=$_SERVER["REMOTE_ADDR"];
//Dapatkan nama pengguna dan kata sandi formulir
$cmd_namapengguna=$_POST["namapengguna"];
$cmd_password=$_POST["kata sandi"];
//Verifikasi dengan tabel sistem CMS terlebih dahulu, apakah lolos. Kueri ID di tabel pengguna BBS dari nama pengguna yang sesuai
$link=mysql_connect("localhost","root","");
mysql_select_db("cm");
$selectUid="pilih user_id dari bbs_users di mana nama pengguna='$cmd_namapengguna'";
$uidResult=mysql_query($selectUid);
$userId=batal;
while($baris1 = mysql_fetch_array($uidResult, MYSQL_NUM))
{
$userId=$baris1[0];
}
//gema $userId;
mysql_close($link);
//Masukkan informasi ID pengguna ke dalam Cookie
setcookie($cookieName.'_u',$userId,time()+100000000,$cookie_path,$SessionIp,false);
//Masukkan informasi SessionID ke dalam Cookie
setcookie($cookieName.'_sid',$Session_testId,time()+100000000,$cookie_path,$SessionIp,false);
//Masukkan informasi Sesi ke dalam tabel phpb_sessions
$link=mysql_connect("localhost","root","");
mysql_select_db("cm");
$sqlcommand="masukkan ke dalam bbs_sessions(session_id,session_user_id,session_last_visit,session_start,session_time,session_ip,session_browser,session_page)";
$sqlcommand.=" value('$Session_testId',$userId,'".time()."','".time()."','".time()."','$userIpAdd', '$userBrowserInfo','index.php')";
//echo $sqlcommand;
mysql_query($sqlcommand);
mysql_close($link);
//Hasilkan nomor acak 32-bit
fungsi create_sess_id($len=32)
{
// Dapatkan mikrodetik waktu saat ini
daftar($u, $s) = eXPlode(' ', microtime());
$waktu = (mengambang)$u + (mengambang)$s;
// Hasilkan nomor acak
$rand_num = rand(100000, 999999);
$rand_num = rand($rand_num, $waktu);
mt_srand($rand_num);
$rand_num = mt_rand();
//Buat ID Sesi
$sess_id = md5( md5($waktu).md5($rand_num) );
//Mencegat SessionID yang menentukan panjang yang dibutuhkan
$sess_id = substr($sess_id, 0, $len);
kembalikan $sess_id;
}
header("lokasi: http://192.168.0.100/bbs/index.php ");
//print_r($_COOKIE);
?>
Dengan cara ini, login otomatis dapat dicapai.
Tentu saja, ini tidak cukup. Pengguna di PHPBB juga harus diblokir dari mengubah informasi akun dan mendaftarkan pengguna baru
direktori phpbb3rc2stylesprosilvertemplate Di halaman template .ucp_register.html berikut, hapus konten di dalamnya dan tambahkan
<script type="text/javascript" Language="javascript">
ini
window.location='anggota.php';
</script>
Dengan cara ini, ketika pengguna mengklik untuk mendaftar dan mengklik untuk mendaftar setelah membaca ketentuan, dia akan melompat ke halaman pendaftaran di situs web. Metode mengubah informasi pada dasarnya
sama menyatukan tabel pengguna. Sebaliknya, masing-masing memiliki sistem Pengguna sendiri.
Saat mendaftarkan pengguna di situs web, masukkan informasi pengguna ke dalam tabel pengguna dan tabel grup_pengguna dari database PHPBB secara bersamaan.
izin, dan masukkan hal-hal yang sesuai, jika tidak, Anda mungkin tidak dapat masuk. Masalah seperti tidak mengubah pesan dan tidak dapat membaca forum. Bagian ini relatif panjang dan sederhana, jadi kodenya dihilangkan terutama bagian login.