discuz Passport 通行证 整合笔记
太简单了,但时间长了,记不得,浪费我半小时找资料,深刻体会好记性不如烂笔头!!今天把passport文挡贴上,防止以后忘记!!记住,网上找到自己需要的资料也要耗时间的!!!!!!
Passport 通行证 整合
第一篇:整合原理请注意: 整合不成功可能造成的后果-----dz论坛无法登录,无法管理
解决办法:
第一步: 到dz的数据库表cdb_settings 找到下面这几行修改为
第二步: 删除dz安装目录/forumdata/cache/cache_settings.php
第三步: 重新访问论坛
登陆和注册整合流程
用户从登陆或注册表单提交帐号密码信息 ==>
主站程序检验用户登陆或注册,成功(注册需要生成新用户)则 ==>
设置主站自身的cookie或session ==>
url传递 返回地址forward和编码后的用户信息和其他信息 到dz/api/passport.php
整合之前请先仔细阅读官方passport技术文档: http://www.discuz.net/usersguide/advanced_passport.htm
代码:
<font face="新宋体"><?php <BR>//该文档保存为login.php<br>//首先将接口技术文档里的加密解密函数拷贝<br>//为了不让代码太乱,我拷贝到文档的结尾处<br>//假设自己的用户数据库表里用户名字段为UserName, 密码字段为Pwd, Email字段为 Email<br>//注册页实现方法差不多,可自行实现,疑问加我QQ:2666556<br><br>$act=(isset($_GET['act']))?$_GET['act']:"login";<br>if(function_exists($act)) $act();else login(); <br><br>function login()<br>{ <br> $ErrMsg=UserCheck();<br> if($ErrMsg!="")echo $ErrMsg; <br> //后面加上显示你的登陆表单的代码 如<br>?><br><form action="login.php?act=login" method="post">
<br>用户名:<input name="username"><br>密码:<input name="password"><br><input name="submit" type="submit" value="登陆">
</form>
<br><?php <br><br>}//end function<br><br>function logout()//登出<br>{<br> $passportkey="1234567890";//这里换成你论坛通行证设置的passportkey<br> $auth=$_COOKIE['auth'];<br> setcookie("auth", "",time() - 3600);<br> $forward=$_GET['forward'];<br> if($forward=="")$forward="../../index.php";//这里换成你的主页绝对地址或相对地址 <br> $verify = md5('logout'.$auth.$forward.$passportkey);<br> $auth=rawurlencode($auth);<br> $forward=rawurlencode($forward);<br> header("Location: bbs/api/passport.php?action=logout&auth=$auth&forward=$forward&verify=$verify");<br>}<br><br>function UserCheck() <br>{ <br> $passportkey="1234567890";//这里换成你论坛通行证设置的passportkey<br><br> //===========验证输入=====================<br> if(!isset($_POST['submit'])) return; // login表单的按钮需要与此同名<br> $usnm=$_POST['username'];//username换成你登陆表单里的用户名域 <br> $pwd=$_POST['password'];//password换成你登陆表单里的密码域 <br> if($usnm=="") return "请输入用户名!";<br> if($pwd=="") return "请输入密码!";<br><br> //=========数据库处理==========================<br> $db=mysql_connect("localhost", "root", "");<br> mysql_select_db("your_db_name");<br>$sql="Select * from `user` where UserName='".$usnm."' Limit 1"; <br> $rs = mysql_query($sql,$db) ;<br> $row = mysql_fetch_array($rs);<br> if(!$row)return "该用户不存在";<br> if($row["Pwd"]!=md5($pwd))return "密码错误";<br> mysql_free_result($rs); <br><br> //==============header到bbs===================== <br> $member = array<br> (<br> 'time' => time(),<br> 'username' => $row["UserName"],<br> 'password' => $row["Pwd"],<br> 'email' => $row["Email"]<br> );<br> $auth = passport_encrypt(passport_encode($member), $passportkey);<br> setcookie("auth",$auth,($_POST["Cookie"]? time()+(int)$_POST["Cookie"] :0));<br> $forward=$_POST['forward'];<br> if($forward=="")$forward="../../index.php"; <br> $verify = md5('login'.$auth.$forward.$passportkey);<br> $auth=rawurlencode($auth);<br> $forward=rawurlencode($forward);<br> header("Location: bbs/api/passport.php?action=login&auth=$auth&forward=$forward&verify=$verify"); <br><br>}<br><br><br>//=============================================================<br>//=============以下为拷贝过来的函数============================<br>function passport_encrypt($txt, $key) {<br> srand((double)microtime() * 1000000);<br> $encrypt_key = md5(rand(0, 32000)); <br> $ctr = 0;<br> $tmp = '';<br> for($i = 0; $i $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;<br> $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);<br> }<br> return base64_encode(passport_key($tmp, $key));<br>}<br><br>function passport_decrypt($txt, $key) {<br> $txt = passport_key(base64_decode($txt), $key);<br> $tmp = '';<br> for ($i = 0; $i $tmp .= $txt[$i] ^ $txt[++$i];<br> }<br> return $tmp;<br>}<br><br>function passport_key($txt, $encrypt_key) {<br> $encrypt_key = md5($encrypt_key);<br> $ctr = 0;<br> $tmp = '';<br> for($i = 0; $i $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;<br> $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];<br> }<br> return $tmp;<br>}<br><br>function passport_encode($array) {<br> $arrayenc = array();<br> foreach($array as $key => $val) {<br> $arrayenc[] = $key.'='.urlencode($val);<br> }<br> return implode('&', $arrayenc);<br><br>}<br>//=========================================================================<br>//===========================拷贝结束======================================<br>?></font>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Bagaimana untuk memadamkan nota Xiaohongshu? pandangan! Tutorial penggunaan Xiaohongshu Cara memadam nota Xiaohongshu 1. Mula-mula buka APP Xiaohongshu dan masukkan halaman utama, pilih [Saya] di sudut kanan bawah untuk memasuki kawasan khas 2. Kemudian di kawasan Saya, klik pada halaman nota sebagai ditunjukkan di bawah , pilih nota yang anda mahu padamkan;

Pada platform Douyin, ramai pengguna tidak sabar-sabar untuk mendapatkan pensijilan tahap, dan tanda cahaya tahap 10 menunjukkan pengaruh dan pengiktirafan pengguna pada Douyin. Artikel ini akan menyelidiki harga papan lampu tahap 10 Douyin dan masa yang diperlukan untuk mencapai tahap ini untuk membantu pengguna memahami proses tersebut dengan lebih baik. 1. Berapakah kos papan tanda lampu Douyin tahap 10? Harga papan tanda lampu 10 peringkat Douyin akan berbeza-beza bergantung pada turun naik pasaran dan penawaran dan permintaan Harga umum berjulat dari beberapa ribu yuan hingga sepuluh ribu yuan. Harga ini termasuk kos tanda lampu itu sendiri dan kemungkinan bayaran perkhidmatan. Pengguna boleh membeli papan tanda cahaya tahap 10 melalui saluran rasmi Douyin atau agensi perkhidmatan pihak ketiga, tetapi mereka harus memberi perhatian kepada saluran undang-undang semasa membeli untuk mengelakkan transaksi palsu atau penipuan. 2. Berapa hari yang diperlukan untuk mencipta tanda kipas tahap 10? Mencapai tahap 10 tanda cahaya

Sebagai pengguna Xiaohongshu, kita semua pernah menghadapi situasi di mana nota yang diterbitkan tiba-tiba hilang, yang sudah pasti mengelirukan dan membimbangkan. Dalam kes ini, apa yang perlu kita lakukan? Artikel ini akan menumpukan pada topik "Apa yang perlu dilakukan jika nota yang diterbitkan oleh Xiaohongshu hilang" dan memberi anda jawapan terperinci. 1. Apakah yang perlu saya lakukan jika nota yang diterbitkan oleh Xiaohongshu tiada? Pertama, jangan panik. Jika anda mendapati nota anda tiada, bertenang adalah kunci dan jangan panik. Ini mungkin disebabkan oleh kegagalan sistem platform atau ralat operasi. Menyemak rekod keluaran adalah mudah. Cuma buka Apl Xiaohongshu dan klik "Saya" → "Terbitkan" → "Semua Penerbitan" untuk melihat rekod penerbitan anda sendiri. Di sini anda boleh mencari nota yang disiarkan sebelum ini dengan mudah. 3.Siaran semula. Jika dijumpai

Bagaimana untuk menambah pautan produk dalam nota dalam Xiaohongshu? Dalam aplikasi Xiaohongshu, pengguna bukan sahaja boleh menyemak imbas pelbagai kandungan tetapi juga membeli-belah, jadi terdapat banyak kandungan tentang cadangan membeli-belah dan perkongsian produk yang baik dalam aplikasi ini pada aplikasi ini, anda juga boleh berkongsi beberapa pengalaman membeli-belah, mencari peniaga untuk kerjasama, menambah pautan dalam nota, dll. Ramai orang sanggup menggunakan aplikasi ini untuk membeli-belah, kerana ia bukan sahaja mudah, tetapi juga mempunyai ramai Pakar akan membuat beberapa cadangan Anda boleh menyemak imbas kandungan yang menarik dan melihat sama ada terdapat produk pakaian yang sesuai dengan anda. Mari lihat cara menambah pautan produk pada nota Cara menambah pautan produk ke Xiaohongshu Notes Buka aplikasi pada desktop telefon mudah alih anda. Klik pada halaman utama apl

Pemain boleh mengalami plot utama permainan dan mengumpul pencapaian permainan apabila bermain di Elden's Circle Ramai pemain tidak tahu berapa lama masa yang diambil untuk membersihkan Elden's Circle Proses pelepasan pemain adalah 30 jam. Berapa lama masa yang diambil untuk membersihkan Cincin Elden Jawapan: 30 jam. 1. Walaupun masa pelepasan 30 jam ini tidak merujuk kepada pas laju seperti induk, ia juga meninggalkan banyak proses. 2. Jika anda ingin mendapatkan pengalaman permainan yang lebih baik atau mengalami plot yang lengkap, maka anda pasti perlu meluangkan lebih banyak masa pada tempoh tersebut. 3. Jika pemain mengumpul kesemuanya, ia akan mengambil masa kira-kira 100-120 jam. 4. Jika anda hanya mengambil garisan utama untuk memberus BOSS, ia akan mengambil masa lebih kurang 50-60 jam. 5. Jika anda ingin mengalami semuanya: 150 jam masa asas.

Xiaohongshu, platform yang penuh dengan kehidupan dan perkongsian pengetahuan, membolehkan semakin ramai pencipta untuk menyatakan pendapat mereka secara bebas. Untuk mendapatkan lebih banyak perhatian dan suka pada Xiaohongshu, selain kualiti kandungan, masa penerbitan juga penting. Jadi, bagaimana untuk menetapkan masa untuk Xiaohongshu menerbitkan karya? 1. Bagaimana untuk menetapkan masa untuk menerbitkan karya di Xiaohongshu? 1. Fahami masa aktif pengguna Pertama, adalah perlu untuk menjelaskan masa aktif pengguna Xiaohongshu. Secara umumnya, 8 malam hingga 10 malam dan tengah hari hujung minggu ialah masa apabila aktiviti pengguna tinggi. Walau bagaimanapun, tempoh masa ini juga berbeza bergantung pada faktor seperti kumpulan penonton dan geografi. Oleh itu, untuk lebih memahami tempoh aktif pengguna, adalah disyorkan untuk menjalankan analisis yang lebih terperinci tentang tabiat tingkah laku kumpulan yang berbeza. Dengan memahami kehidupan pengguna

Wajib ada untuk pengguna Discuz! Analisis komprehensif untuk menamakan semula prop! Dalam forum Discuz, fungsi pertukaran nama sentiasa mendapat perhatian dan permintaan daripada pengguna. Bagi sesetengah pengguna yang perlu menukar nama mereka, prop menukar nama boleh mengubah suai nama pengguna dengan mudah, dan ia juga merupakan cara interaksi yang menarik. Mari kita lihat secara mendalam tentang penamaan semula prop dalam Discuz, termasuk cara mendapatkannya, cara menggunakannya dan penyelesaian kepada beberapa masalah biasa. 1. Dapatkan prop menukar nama dalam Discuz prop menukar nama biasanya dibeli melalui mata atau pentadbir

"Penjelasan Terperinci Proses Pendaftaran Discuz: Membolehkan anda mengubah suai maklumat peribadi dengan mudah, contoh kod khusus diperlukan" Discuz ialah program forum komuniti yang kuat yang digunakan secara meluas dalam pelbagai laman web Ia menyediakan banyak fungsi pendaftaran pengguna dan pengubahsuaian dan antara muka. Artikel ini akan memperkenalkan anda kepada proses pendaftaran Discuz secara terperinci dan memberikan contoh kod khusus untuk membantu anda menyesuaikan dan mengubah suai maklumat peribadi anda dengan mudah. 1. Proses pendaftaran pengguna Di Discuz, pendaftaran pengguna adalah salah satu fungsi penting laman web ini
