
Project Abandoned. Этот проект был заброшен и может быть устаревшим с текущими стандартами и в отношении безопасности, функций и т. Д. Я могу обновить этот проект в будущем, но в настоящее время нет дальнейшего развития.
KLIK - это система информации о блоке информации на основе PHP (или просто веб -сайт в социальных сетях), состоящая из полной системы входа в систему/регистрации, системы профиля пользователей, чата, системы форумов и системы управления блогами/опросами/событиями.
Все эти требования могут быть выполнены одновременно, просто установив стек сервера, такой как
WampилиXamppи т. Д.
Импортируйте файл klik_database.sql в папке includes папку» в phpmyadmin. Нет необходимости в каких -либо изменениях в файле .sql. Это создаст базу данных, необходимую для функционирования приложения.
Отредактируйте файл dbh.inc.php в папке includes для создания подключения к базе данных. Измените пароль и имя пользователя на те, которые используются в рамках текущей установки 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 ());
}Номер порта не должен изменяться при обычных обстоятельствах, но если вы сталкиваетесь с проблемой или стек сервера установлен на другом порту, не стесняйтесь менять, но делайте это тщательно.
email-server.php в папке includes и соответственно измените переменные:$SMTPuser : адрес электронной почты на gmail$SMTPpwd : пароль адреса электронной почтыSMTPtitle : гипотетическое название компанииDomain : домен веб -сайта, такой как Localhost на локальном сервере или в домене в прямом эфире, что -то вроде www.hypotheetiticewebsite.com $ SMTPuser = ' [email protected] ' ;
$ SMTPpwd = ' some-example-password ' ;
$ SMTPtitle = " KLiK inc. " ;
$ Domain = ' localhost ' ;Этот шаг в основном предназначен для настройки учетной записи электронной почты, чтобы включить систему сброса
contactиpassword reset system, которые требуют рассылки.
На текущем этапе заявки поддерживаются только учетные записи
Gmail.
Файл базы данных уже содержит много образцов данных и пользователей. Большинство пользователей в базе данных имеют тот же пароль, что и их имена пользователей, за исключением нескольких. Невозможно зарегистрироваться в качестве администратора в рамках заявления, поскольку мы решили, что это была эксплуатационная слабость. Поэтому вам придется создать учетную запись и вручную перейти к таблице users в базе данных, чтобы изменить пользовательский уровень этой учетной записи на 1 из 0 .
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)
Это использовалось для создания
mail serverвWindows localhost, поскольку в отличие от Linux, в Windows уже нет. Этот плагин использовался для отправки и получения электронных писем на LocalHost, и не нужен в живом домене
Подробная информация о важных функциях приложения

Панель инструментов обеспечивает центральный интерфейс для большинства функций приложения. User profile card в верхнем левом углу экрана содержит сводку профиля, а также ссылку на профиль и страницу редактирования профиля. Кнопка создателя в верхнем правом углу предоставляет заметную ссылку на страницу команды, которая демонстрирует KLiK Creators .
Интерфейс 4 вкладок в центре обеспечивает доступ к 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 можно получить через опцию в меню «Настройки» в панели навигации, или, более проще, нажав на изображение пользователя на карте профиля пользователя, которая присутствует в верхнем левом углу экрана приложения на большинстве страниц. На странице профиля показана основная информация пользователя, такую как имя пользователя, полное имя, пол, заголовок и биография. Кроме того, он показывает различные Forums и Blogs которые пользователь создал вместе с Polls в которых он/она участвовал. Если в случае, если пользователь не сделал ничего из этого или является новой, на странице изображена милая маленькая кошка Бонго с такой пустой подписью, чтобы напомнить вам, что вам нужно быть более активной :) :)
Существует также Profile Editing System , которая позволяет пользователю редактировать информацию о своем профиле. К нему можно получить доступ через соответствующий параметр в меню «Настройки» в панели навигации или просто нажав значок карандаша рядом с изображением профиля пользователя на карте профиля. Система позволяет пользователю изменять большую часть своей информации, за исключением имени пользователя, которое не может быть изменено. Все поля уже имеют текущую информацию, поэтому пользователю не нужно снова набирать все снова, если он только хочет немного отредактировать текущую информацию. Однако пароль также может быть изменен, только предоставив текущий пароль для сохранения более безопасного интерфейса.

У Klik также есть чат, который использует PHP и AJAX для чата в реальном времени с другими пользователями. Раздел слева представляет собой список всех пользователей, которые в настоящее время находятся на веб -сайте, в то время как правильный экран чата предназначен для отображения инстиральных и исходящих сообщений. Пользователь может получить доступ к чату с определенным пользователем, нажав на него/ее в списке пользователей, который будет извлекать все сообщения чата из базы данных. Внедрение и исходящие сообщения определяются по -разному для поддержания читаемости. Чат делается в режиме реального времени, без необходимости постоянно обновлять страницу.
Возможные улучшения :
optimization : все сообщения чата извлекаются одновременно, и это может вызвать задержки, если чат большой. Это может быть исправлено путем реализации постепенной загрузки сообщений для загрузки только сообщений, отображаемых на экране.user search : функция поиска может быть реализована в списке пользователей для непосредственного поиска конкретного пользователя, тем самым сохраняя время. Password hashing перед хранением в базе данных.
Сброс пароля сделан с помощью индивидуально созданных encrypted tokens отправленных по электронной почте в качестве формы ссылки. Токены имеют определенную дату истечения срока, после чего они не могут быть использованы.
Фильтрация информации, полученная из методов $_GET и $_POST для предотвращения header injection .
Реализация 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 присутствуют в их перспективных каталогахcss&js. Только файлы Creator в_KLiK Creators folderимеют свои собственные файлы CSS. Основными файлами структурирования HTML являютсяHTML-head.phpиHTML-footer.php, которые также находятся в папке «Включение»
LaravelVue.js для чата.Если вам понравилась моя работа, пожалуйста, покажите поддержку, в которой снялись репозиторий! Это очень много значит для меня, и я все прошу.
Огромная благодарность замечательной команде, без которой весь этот проект не был бы невозможно. Проверьте наши профили и смотрите на наши репо! :)
![]() | ![]() | ![]() | ![]() |
|---|---|---|---|
| MSAAD1999 | Skamal16 | Ubaidasim | aitasadduq |