
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 |