ホームページ > バックエンド開発 > PHPチュートリアル > discuz Passport Pass 統合 Notes_PHP チュートリアル

discuz Passport Pass 統合 Notes_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:50:55
オリジナル
807 人が閲覧しました

太简单了,但时间长了,记不得,浪费我半小时找资料,深刻体会好记性不如烂笔头!!今天把passport文挡贴上,防止以后忘记!!记住,网上找到自己需要的资料也要耗时间的!!!!!!


Passport 通行证 整合

第一篇:整合原理

请注意: 整合不成功可能造成的后果-----dz论坛无法登录,无法管理
解决办法:
第一步: 到dz的数据库表cdb_settings 找到下面这几行修改为
discuz Passport Pass 統合 Notes_PHP チュートリアル
setting.gif (4.3 KB)
2006-9-30 13:59

ステップ 2: dz インストール ディレクトリ/forumdata/cache/cache_settings.php を削除します
ステップ 3: フォーラムに再度アクセスします



ログインと登録の統合プロセス
ユーザーはログインまたは登録からアカウントとパスワード情報を送信しますform== >
成功した場合、メイン サイト プログラムはユーザーのログインまたは登録をチェックします (登録には新しいユーザーを生成する必要があります) ==>
メイン サイト独自の Cookie またはセッションを設定します ==>
url は戻りアドレスを渡しますエンコードされたユーザー情報およびその他の情報を dz/api/passport.php に転送します


統合する前に公式パスポートの技術文書をよくお読みください: http://www.discuz.net/usersguide/advanced_pa​​ssport.htm
コンテンツをクリップボードにコピーします
コード:
<font face="新宋体"><?php<BR>//この文書をlogin.phpとして保存します<BR>//まずインターフェース技術文書の暗号化関数と復号化関数をコピーします<BR>//コードが乱雑になりすぎないように、これをドキュメントの末尾にコピーしました <BR>//ユーザー データベース テーブルのユーザー名フィールドが UserName、パスワード フィールドが Pwd、電子メール フィールドが Email であると仮定します<BR>//登録ページの実装方法は同様であり、次のようにすることができます。ご自身で実装しました。ご質問がある場合は、QQ: 2666556 に追加してください<br><br>$act= (isset($_GET['act']))?$_GET['act']:"login";<BR>if( function_exists($act)) $act();else ログイン(); $ErrMsg=ユーザーMethod=post><br>ユーザー名:<入力名=ユーザー名><br>パスワード:<input名前=パスワード><br><入力名=送信タイプ=送信値=ログイン></form> 'auth'];<br> setcookie("auth", "",time() - 3600);<br> $forward=$ _GET['forward'];<br> if($forward=="")$forward=".. /../index.php";//ここをホームページの絶対アドレスまたは相対アドレスに置き換えます);<br> $ forward=rawurlencode($forward);<br> header("場所: bbs/api/passport.php?action=logout&auth=$auth&forward=$forward&verify=$verify");<br>}<br><br>関数 UserCheck() <br>{ ===============<br> If(!isset($_POST['submit'])) // ログインフォームのボタンは return;同じ名前です<br> $usnm=$_POST[' username'];//ユーザー名はログインフォームのユーザー名フィールドに置き換えられます' m=="" ) return "ユーザー名を入力してください!";<br> if( $pwd=="") return "パスワードを入力してください!" ===================<br> $db=mysql_connect("localhost", "root", "" );<br> mysql_select_db("your_db_name");<br>$sql=" Select * from `user` where UserName='".$usnm."' 制限 1" )return "このユーザーは存在しません";を使用してusing using ' using using ‐ through using through out out through out through through through off ‐ ‐ ‐‐ ‐ ‐ return "ユーザーが存在しません" ========bbs にヘッダーを返します。 =================ヘッダー <br> 'ユーザー名' => ' => mail"]<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"; $verify = md5('login'.$ auth .$forward.$passportkey);<br> $ auth=rawurlencode($auth);<br> $forward=rawurlencode($forward);<br> header("場所: bbs/api/passport.php?action=login&auth=$auth&forward=$ forward&verify=$verify"); === ======================<br>//==============以下はコピーされた関数です== === =======================<br>関数パスポート_encrypt($txt, $key) {<br> srand((double)microtime() * 1000000) <br> $encrypt_key = md5(rand(0, 32000)); <br> $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;<br> $tmp .= $encrypt_key[$ctr].($テキスト[$i] ^ $encrypt_key[$ctr++]); Base64_encode(passport_key($tmp, $key));<br>}<br><br>functionパスポート_decrypt($txt, $key) {<br> $txt = パスポート_キー(base64_decode($txt) , $key);<br> $tmp = '';<br> for ($i = 0; $i < strlen($txt); $i++) {<br> $tmp .= $txt[$i] ^ $txt[+ +$i];<br> }<br> }<br><br>functionパスポート_key($txt, $encrypt_key) {<br> $encrypt_key = md5($encrypt_key);<br> $ctr = 0;<br> $tmp = '';<br> for($i = 0; $i < strlen($ txt); $i++) {<br> $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;<br> $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];<br> }<br> return $tmp;<br>}<br><br>functionパスポート_encode($array) {<br> $arrayenc = array(); foreach($ array as $ key =&gt; $ val){<br>$ arrayenc [] = $ key。 '='。urlencode($ val); }<br>//============================================= ===========================<br>//==================== =======採贝结束======================================<br>?&gt ;<br><br><br> <br> <br></font>http://www.bkjia.com/PHPjc/319256.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/319256.html技術記事太简单了,但時間间长了,记不得,浪费我半小時找资料,真体会好记性不如烂笔头!!
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート