(¯`'•.¸ \ Tüân' ¦-¦ü*ng £ovë / ¸.•'´¯)
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

(¯`'•.¸ \ Tüân' ¦-¦ü*ng £ovë / ¸.•'´¯)


 
Trang ChínhTrang Chính  PortalPortal  GalleryGallery  Tìm kiếmTìm kiếm  Latest imagesLatest images  Đăng kýĐăng ký  Đăng Nhập  


Cách tích hợp Xtremedia vào vBB Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down


Bình chọn cho bài viết của tớ nào:

ღAdmiиistrator•—®

۩·¤√īр-Hh3¤·۩ ღAdmiиistrator•—®

Admin
Admin

.:.Về tui nè.:.

Tổng số bài gửi : 473

Ngày sinh: : 02/03/1989

Tham gia: : 05/05/2009

Danh Tiếng: : 35

Đến từ : Thanh pho Thanh Hoa

Tên: : Truong Van Hue


Bài gửiTiêu đề: Cách tích hợp Xtremedia vào vBB Cách tích hợp Xtremedia vào vBB EmptySat Jun 27, 2009 11:09 am
Cách tích hợp Xtremedia vào vBB


Tích hợp ở đây có nghĩa là làm cho Xtremedia dùng chung dữ liệu thành viên của 4rum vBB. Như vậy những thành viên vBB có thể đăng nhập, sử dụng Xtremedia. Thống nhất hệ thống thành viên sử dụng tái nguyên website, tránh phải đăng ký 2 tài khoản cho forum và music.

Tôi viết bài này chủ yếu là phân tích và nêu phương pháp cho các bạn tự thực hiện với site của mình vì mỗi người có nhu cầu riêng, ai thích làm đến đâu thì làm. Tớ cũng là new bie thôi nên nếu có thuật ngữ nào dùng sai thì các bạn thông cảm Cách tích hợp Xtremedia vào vBB 001. Có tham khảo từ bản tích hợp extremedia vào vbb của bác Không Yêu.

Trước tiên thì dữ liệu của Xtremedia phải nằm cùng database với forum vBB. Những table cần chỉnh sửa là user của vBB và media_user của Xtremedia (ở đây tôi dùng prefix cho các table của xtremedia là media_ để phân biệt với các table của vBB khi 2 cái dùng chung 1 database. Cấu hình cái này nằm trong config.php á) table của. Chúng ta sẽ sử dụng dữ liệu thành viên của vBB chung cho cả vBB và xtremedia vì thế khi truy xuất dữ liệu thành viên, xtremedia sẽ phải lấy từ table user của vBB. Vậy chúng ta sẽ phải nhập những field cần thiết của table media_user vào table user. Nhập vào như thế nào? - Bạn dùng phpMyadmin, duyệt table media_user xem thuộc tính của những field trong đó thế nào và add thêm vào table user những field với tên và thuộc tính như vậy (field, type, collation, null, default, v,v...) Trừ 2 field user_name và user_password vì chúng ta sẽ không dùng 2 field này nữa.

Như vậy, cấu trúc của table user đã đủ điều kiện đễ cả vBB và Xtreme cùng sử dụng. Vậy làm sao để Xtreme chuyển qua dùng table user để quản lý thành viên thay vì table media_user? - Chúng ta cần thay đổi code của 1 vài file.

Những file ảnh hưởng đến truy xuất dữ liệu user và phiên đăng nhập của user cần edit: /login.php, /logout.php, /user.php, /includes/functions.php, /includes/user_online.php, /admin/login.php, /admin/logout.php, admin/media_user.php.

Edit những gì? - Cứ tìm chỗ nào có ".$tb_prefix."user thì thay bằng user (tên của table thành viên của vBB), thay user_name bằng username, user_password bằng password. Như vậy, extremedia đã chuyển sang dùng dữ liệu thành viên của vBB.

Nhưng vấn đề nảy sinh: Bạn vẫn chưa đăng nhập được vào extremedia với mật khẩu của vBB. Bởi vì cơ chế mã hóa mật khẩu của Xtrem và vBB khác nhau. Khi đăng nhập, xtrem sẽ mã hóa chuỗi mật khẩu mình nhập vào với code ".md5($pwd)." (với $pwd là chuỗi mật khẩu mình nhập vào) và so sánh với chuôic mật khẩu đã được lưu trong field password trong database. Còn vBB lại mã hóa chuỗi mật khẩu mình nhập vào với code ".md5(md5($pwd) . $salt)." - 2 lần md5, kinh! Cách tích hợp Xtremedia vào vBB 010 Lại thêm cái $salt nữa, nó nằm trong table user của vBb chứ đâu. Ta truy vấn nó ra, gán vào biến rồi đưa vào trong code mã hóa mật khẩu cho đủ bộ thì mới giống mật khẩu trong database của vBB được.
Thêm cái này vào login.php để có $salt (ngay dưới đoạn $pwd = stripslashes(urldecode($_POST['pwd'])); là ổn

Mã:
$my_salt = $mysql->query("SELECT salt FROM user WHERE username = '".$name."'");
while ($THT = $mysql->fetch_array($my_salt)) {
$salt = $THT['salt'];


Vậy làm gì để Xtrem dùng được mật khẩu của vBB? - Cách tích hợp Xtremedia vào vBB 004 Thì sửa lại code mã hóa mật khẩu của Xtrem cho giống kiểu của vBB thui! Tìm trong mấy file login.php, chổ nào nó dùng 1 md5 thì mình thêm vào (như ở trên á!). Chú ý user_new_password = '".md5(md5($pwd))."' không có $salt nhé. user_new_password khác với password.

Vậy là ok rồi, Xtreme đã "hiểu" được thông tin đăng nhập của user từ vBB. Còn vấn đề đăng ký và edit thông tin user trong extrem với user của vBB thì cũng áp dụng cách trên. Nhưng tôi nghĩ là nên chuyển luôn phần đăng ký thành viên và chỉnh sửa, quản lý thông tin thành viên qua vBB luôn. Không cần phải dùng chức năng đó cuat Xtremedia nữa vì đăng ký thông tin từ vBB sẽ đầy đủ thông tin hơn, bảo mật hơn và... khỏi mất công edit thêm mấy trang này trong Xtremedia Cách tích hợp Xtremedia vào vBB 021. Một công đôi việc ^^. Cứ trỏ đến trang đăng ký của vBB khi thành viên bâm vào link đăng ký.

Mình chỉ rút được những cái này từ kinh nghiệm của mình khi tích hợp Xtremedia vào vBB của mình. Còn những thao tác chi tiết và lỗi phát sinh thì tùy vào mỗi người và đặt điểm site mỗi người. Nguyên tắc là vậy, ai có ý kiến gì thêm thì nêu thêm nhé. Mình là newbie, bị chê hổng quê ^^


https://hoanghoa3.forum.st
Cách tích hợp Xtremedia vào vBB Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang
Trang 1 trong tổng số 1 trang
Viết "Tiếng Việt" để tôn trọng văn hoá VN
Không nên viết toàn tiếng Anh hay tiếng nước ngoài
Bài vi phạm sẽ bị chuyển đến ßãi rác

Permissions in this forum: Bạn không có quyền trả lời bài viết
(¯`'•.¸ \ Tüân' ¦-¦ü*ng £ovë / ¸.•'´¯) :: 

+ + + KIẾN THỨC - HIỂU BIẾT

 :: 

Câu Lạc Bộ . Tin Học

 :: 

Xtremedia

-
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Cookies | Thảo luận mới nhất