
Project Abandoned。該項目已被放棄,並且可能與當前標準和安全性和功能等過時。
KLIK是一個基於PHP的信息池系統(或僅僅是社交媒體網站),該網站由完整的登錄/註冊系統,用戶配置文件系統,聊天室,論壇系統和博客/民意調查/事件管理系統組成。
所有這些要求都可以通過簡單地安裝
Wamp或Xampp等服務器堆棧來立即完成。
將klik_database.sql文件導入到phpMyAdmin中的includes文件夾中。 .sql文件中無需任何更改。這將創建應用程序功能所需的數據庫。
在includes文件夾中編輯dbh.inc.php文件以創建數據庫連接。將密碼和用戶名更改為當前安裝phpMyAdmin中使用的密碼。無需更改其他任何東西。
$ serverName = " localhost " ;
$ dBUsername = " root " ;
$ dBPassword = " examplePassword " ;
$ dBName = " klik_database " ;
$ conn = mysqli_connect ( $ serverName , $ dBUsername , $ dBPassword , $ dBName , 3307 );
if (! $ conn )
{
die ( " Connection failed: " . mysqli_connect_error ());
}端口號不需要在正常情況下更改,但是如果您遇到問題,或者服務器堆棧安裝在另一個端口上,請隨時更改它,但要仔細地進行更改。
includes文件夾中編輯email-server.php文件,並相應地更改變量:$SMTPuser : gmail上的電子郵件地址$SMTPpwd :電子郵件地址密碼SMTPtitle :假設公司的名字Domain :網站的域,例如本地服務器上的Localhost或在Live域上,類似於www.hypothentionwebsite.com $ SMTPuser = ' [email protected] ' ;
$ SMTPpwd = ' some-example-password ' ;
$ SMTPtitle = " KLiK inc. " ;
$ Domain = ' localhost ' ;此步驟主要是為了設置電子郵件帳戶以啟用
contact和password reset system,所有這些都需要郵寄。
在應用程序的當前階段,僅支持
Gmail帳戶。
數據庫文件已經包含大量示例數據和用戶。數據庫中的大多數用戶都具有與用戶名相同的密碼。由於我們認為這是一個可利用的弱點,因此無法通過應用程序註冊為管理員。因此,您將必須創建一個帳戶,然後手動轉到數據庫中的users表,以將該帳戶的用戶級從0更改為1 。
0級別表示普通用戶,而1級表示管理員
訪問所有示例帳戶而不刪除所有樣本帳戶的一種簡單方法,因此丟失了所有示例數據是手動將其email從phpmyadmin內部更改為有效的電子郵件地址。然後嘗試使用錯誤的密碼使用該帳戶登錄,並使用提供的forgot password? link以重置帳戶密碼。稍後,可以將帳戶電子郵件安全地更改為任何瑣碎的東西。
PHP 5.6.40
SQL 14.0
JavaScript ES 6
HTML5
CSS3
WampServer Stack 3.0.6
Windows 10
MySQL Database 8.0.13
phpMyAdmin 4.8.3
MySQLi APIs
JQuery v3.3.1
BootStrap v4.2.1
AJAX
[PHPMailer 6.0.6](https://github.com/PHPMailer/PHPMailer)
這用於在
Windows localhost上創建mail server,因為與Linux不同,Windows中沒有安裝。該插件用於在Local主機上發送和接收電子郵件,並且不需要在Live域中
應用程序重要功能的詳細信息

儀表板為應用程序的大多數功能提供了一個中央接口。屏幕左上角的User profile card提供了一個配置文件摘要,以及配置文件和配置文件編輯頁面的鏈接。右上角的創建者按鈕提供了指向團隊頁面的突出鏈接,該鏈接展示了KLiK Creators 。
中心的4個TAB接口提供了對latest或最近創建的Forums , Blogs , Polls和Events訪問權限。這些組件顯示了各個元素的個體特徵,例如論壇的總upvotes , likes博客,對民意調查進行votes ,而事件days remaining 。還有2個按鈕,這些按鈕轉到KLiK Forums (論壇的中央接口)和KLiK Hub (博客,民意調查和事件管理系統的中央接口)。

Forum System :
Blog Management System :
Like博客上的系統(用戶可以喜歡博客或刪除自己的喜歡) Event Management System :
Poll Management System :

KLIK支持完整的登錄/註冊和用戶配置文件系統。在啟動時,該應用程序顯示了通過電子郵件登錄,註冊或聯繫網站管理員的選項。每個用戶都可以製作獨特的用戶名,以後無法更改。在存儲數據庫之前,將使用用戶passwords進行hashed ,因此即使是管理員也無法訪問原始密碼。其他用戶信息包括Full Name , email , Profile Image , Profile Headline , Gender和Bio 。
還有一個安全的Password Recovery System ,使用戶能夠以安全的方式重置密碼。該應用程序會在一定的到期時間內生成臨時加密的令牌鏈接,當用戶使用時,提示會更改密碼。由於這也需要當前密碼,因此該過程是安全的,並且剝削的機會較小。
該應用使用多種身份驗證方法註冊和登錄。它檢查empty fields , wrong username , wrong password , SQL errors , server errors ,並且在註冊, corrupted image或wrong image type錯誤的情況下

KLIK具有完整的User profile system 。為註冊分配了每個用戶的配置文件,用戶可以通過該配置文件創建論壇,博客,事件等,並與應用程序的功能進行交互。用戶的全名,標題和簡歷以及個人資料圖像是可選的,這意味著任何人都可以註冊而不設置這些。在這種情況下,將為用戶分配一個默認用戶映像,並且標題,生物和全名將為空。
可以通過在“導航欄”上的“設置”菜單中的選項中訪問user profile ,或者更簡單地單擊“用戶配置文件”上的用戶圖像,該用戶映像在大多數頁面上的應用程序屏幕左上角都存在。配置文件頁面顯示了基本的用戶信息,例如用戶名,全名,性別,標題和生物。除此之外,它還顯示了用戶與他/她參加的Polls一起創建的不同Forums和Blogs 。如果用戶尚未完成任何操作或新事物,則該頁面顯示了一個可愛的小邦戈貓,帶有“如此空虛”的字幕,以提醒您您需要更加活躍,您需要變得更加活躍:)
還有一個Profile Editing System ,允許用戶編輯他的個人資料信息。可以通過“導航欄”中的“設置”菜單中的“設置”菜單中的各個選項訪問它,也可以單擊配置文件上的用戶配置文件映像旁邊的鉛筆圖標。該系統允許用戶更改他的大多數信息,除用戶名無法更改。所有字段都已經具有當前信息,因此,如果用戶只想稍微編輯當前信息,則不必再鍵入所有信息。但是,只有通過提供當前密碼來保留更安全的界面,也可以更改密碼。

Klik還擁有一個Chatbox,該聊天框使用PHP和AJAX與其他用戶進行實時聊天。左側的部分列出了網站上當前所有用戶的列表,而右聊天屏幕則用於顯示信息和發出消息。用戶可以通過在用戶列表中單擊他/她來訪問與某個用戶的聊天,這將從數據庫中檢索所有聊天消息。為了維持可讀性,信息和發出的消息的樣式不同。聊天是實時完成的,無需連續刷新頁面。
可能的改進:
optimization :一次聊天的所有消息都會一次檢索,如果聊天很大,這可能會導致延遲。可以通過實現消息的增量加載來僅加載屏幕上顯示的消息來解決。user search :可以在用戶列表中實現搜索功能以直接搜索特定用戶,從而節省了時間。在數據庫中存儲之前, Password hashing 。
密碼通過通過電子郵件發送的單獨創建的encrypted tokens作為鏈接的形式進行重置。令牌有一定的到期日期,之後無法使用它們。
從$_GET和$_POST方法獲得的信息進行過濾,以防止header injection 。
MySQLI準備了高級數據庫安全性MySQLi Prepared Statements 。
例子:
$ sql = " select uidUsers from users where uidUsers=?; " ;
$ stmt = mysqli_stmt_init ( $ conn );
if (! mysqli_stmt_prepare ( $ stmt , $ sql ))
{
header ( " Location: ../signup.php?error=sqlerror " );
exit ();
}
else
{
mysqli_stmt_bind_param ( $ stmt , " s " , $ userName );
mysqli_stmt_execute ( $ stmt );
mysqli_stmt_store_result ( $ stmt );
}所有主要應用程序功能及其各自的前端和後端文件的列表。
| 特徵 | 前端文件 | 後端文件 |
|---|---|---|
| 儀表板 | index.php (Main Dashboard) , Forum.php , Hub.php | N/A。 |
| 論壇系統 | categories.php , create-category , topics.php , create-topic.php , posts.php | create-category.inc.php , create-topic.inc.php , delete-category.php , delete-forum.php , delete-post.php |
| 博客系統 | blog-page.php , blogs.php , create-blog | blog-vote.inc.php , create-blog.inc.php |
| 事件系統 | event-page.php , events.php , create-event.php | create-event.inc.php |
| 投票系統 | poll.php , polls.php , poll-voters.php | create-poll.inc.php , delete-poll.inc.php , poll.class.php , post-vote.inc.php |
| 聊天室 | message.php | post_message_ajax.php , get_message_ajax.php , script.js |
| 註冊/登錄 | signup.php , login.php | signup.inc.php , login.inc.php , logout.inc.php |
| 配置文件系統 | profile.php , edit-profile.php | profileUpdate.inc.php |
| 密碼重置 | reset-pwd.php , create-new-pwd.php | reset-request.inc.php |
| 圖像上傳 | N/A。 | upload.inc.php |
| 創建者展示 | team.php , KLiK_anas-imran.php , KLiK_anas-kamal.php , KLiK_saad.php , KLiK_ubaid.php | N/A。 |
| 查找用戶 | users-view.php | N/A。 |
注意: GUI文件在
root directory中,並且backend files中存在includes文件夾中。同樣,所有CSS和JS文件都存在於其Prepectivecss和js目錄中。_KLiK Creators folder文件只有其自己的CSS文件。 HTML的主要結構文件是HTML-head.php和HTML-footer.php,它也位於Incluble文件夾中
Laravel等高級框架的集成Vue.js聊天室。如果您喜歡我的工作,請通過主演存儲庫來表示支持!這對我來說意義重大,這一切都是我要的。
非常感謝這支出色的團隊,沒有整個項目將是不可能的。查看我們的個人資料並將我們的存儲庫出演! :)
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
| MSAAD1999 | Skamal16 | ubaidasim | aitasadduq |