제목: 웹사이트 관리 WEBAPP
데모 링크: http://52.28.221.30/account/
설명
이 프로젝트에서 저는 다음을 수행할 수 있는 웹사이트 관리 시스템을 개발했습니다.
1: 가입, 로그인 및 비밀번호 복구.
2: 웹 사이트 이미지를 업로드, 편집 및 삭제합니다.
3: 회사 소개, 서비스 등과 같은 웹사이트 정보를 작성, 편집 및 삭제합니다.
4: 방문자 및 사용자 통계를 보고 분석합니다. 5: 데이터베이스에 로그인하고 쿼리하는 API입니다.
언어에는 PHP, MYSQL(PDO), Javascript, HTML5 및 CSS가 포함됩니다.
사용 방법:
데이터 베이스:
PHP 8 이상을 실행하는 XAMPP가 필요합니다. mysql 사용자 이름과 비밀번호를 각각 (adminui,#J4dIg0Mn4PiJm0Ck4#)로 변경하고, 다른 세부 정보를 사용하기로 결정한 경우 phpmyadmin 구성 파일에서 db 세부 정보를 변경하세요 .
요약:
.env 파일에서 SECRET_KEY 변수를 생성하고 이를 google recatcha secret_key에 할당하고 account.settings.js의 8행에서 site_key를 귀하의 것으로 바꿉니다.
SMTP:
.env 파일에서 SMTP_EMAIL 및 SMTP_PASS 변수를 생성하고 이를 자신의 세부 정보에 할당합니다.
호스트 변수:
config.php의 HOST 변수는 시스템의 루트 도메인을 보유하고 있으며 이를 귀하의 도메인과 일치하도록 대체합니다.
이미지 폴더 변수:
config.php의 Img_folder 변수는 이미지를 저장할 폴더를 보유하고 있으며 이를 사용자의 폴더와 일치하도록 대체합니다.
MAX REG 변수:
config.php의 MAX_REG 변수는 허용하려는 사용자(관리자) 수를 보유합니다.
방문자 통계 추적
require_once('includes/tracking.php');를 추가하세요. login.php 상단이나 원하는 다른 페이지/파일에서 *yourdomain/account/tracking.php에 방문 기록을 요청할 수도 있습니다.
파일:
구성.php :
이 파일은 전역 변수 와 데이터베이스 초기화로 구성됩니다.
함수.php :
이 파일에는 모든 공유 기능이 있으므로 config.php 기능이 필요합니다.
index.php :
이것은 모든 페이지의 기본 홀더이며 URL 매개변수 action 및 subAction 각각의 action 및 subAction 값에 따라 페이지 간을 전환합니다. 이는 function.php , include/actions.php , include/header 의 기능이 필요합니다. .php , 포함/footer.php .
로그인.php :
이 파일은 로그인 인증 로직을 담고 있으며, function.php 의 기능이 필요합니다.
로그아웃.php :
세션 파괴 및 사용자 로그아웃을 위해 이 파일을 사용하려면 function.php 기능이 필요합니다.
복구-password.php :
이 파일은 비밀번호 복구용이므로 function.php 기능이 필요합니다.
가입.php :
이 파일에는 가입 인증 논리가 포함되어 있으며 function.php 의 기능이 필요합니다.
추적.php :
이 파일은 IP를 통해 방문자의 정보를 추적하고 기록하기 위한 파일이므로 function.php 기능이 필요합니다.
api.handledata.php :
이 파일에는 데이터 업로드, 편집, 삭제와 같은 모든 데이터 조작 로직이 포함되어 있으며, function.php 의 기능이 필요합니다.
js/account.settings.js :
이 파일에는 google recaptcha, 백엔드에 xml 요청 보내기, 페이지 상호 작용, 사용자 및 방문자 통계의 백분율 차이 기록과 같은 자바 스크립트 논리 및 기능이 포함되어 있으며 include/footer.php 의 일부 기능이 필요합니다.
CSS/account.style.css :
이 파일은 이 프로그램의 모든 스타일을 담고 있습니다.
포함/actions.php :
이 파일에는 페이지의 HTML을 정렬하고 표시하는 기능이 포함되어 있으며 index.php 에 의해 결정된 데이터이므로 function.php 의 일부 기능이 필요합니다.
포함/header.php :
이 파일에는 전체 웹사이트의 헤더 와 헤드 부분을 표시하는 기능이 포함되어 있으며, function.php 및 include/tags.php 의 일부 기능이 필요합니다.
include/tags.php :
이 파일에는 전체 웹사이트의 헤드 부분에 추가될 모든 html 메타 태그 와 파일 링크가 포함되어 있으며, 이는 개별 페이지가 자신만의 제목을 가질 수 있도록 하기 위한 것입니다.
include/footer.php :
이 파일에는 HTML의 모든 바닥글 부분과 전체 웹사이트의 일부 자바스크립트가 포함되어 있습니다.
이미지 :
이 폴더에는 업로드된 모든 이미지가 들어 있습니다.
공급업체 :
이 폴더에는 자동 로드 및 심포니와 같은 일부 PHP 플러그인이 들어 있습니다.
작곡가.잠금 및 composer.json :
이것은 패키지와 플러그인을 설치하기 위한 PHP 패키지입니다.
API 사용 방법
로그인
로그인하려면 먼저 웹페이지에서 계정을 만든 다음 이메일과 비밀번호를 json 데이터(예: {"email":"[email protected]","password":"testing12345"})로 제공하고 게시물 요청을 보내야 합니다. http://52.28.221.30/account/api/login.php로 이동하면 토큰을 받게 됩니다( 토큰은 48시간 후에 만료됩니다 ). 예제 응답 const data = {"success":true,"message":"Login 성공적인","access_token":"ac9e4fd897999fa3419bec77718de76c"}. 액세스 토큰을 사용하면 crud 작업을 수행할 수 있습니다.
크루드 운영
이 액세스는 로그인한 사용자에게만 해당됩니다. 이를 위해서는 http://52.28.221.30/account/handledata.php에 Post 요청을 보내야 합니다.
헤더: 이 작업이 성공하려면 액세스 토큰이 포함된 헤더를 승인으로 설정해야 합니다. 예: const HEADERS = {"Content-Type": "application/json","Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
요청 본문: 이미지와 텍스트라는 두 가지 주요 작업이 있으며 작업에 따라 json 데이터를 제공해야 합니다.
이미지:
이미지 데이터 : const data = {"data": [{"old_name": "example.extension", "image_name": "example.extension", "image_blob": "이미지 base64 데이터를 포함합니다", "xtension":to 작업=업로드인 경우 지정됨}],"origin": "api_req", "type": "image", "category": "갤러리", "sub_category": "to 지정됨 (사이트 이미지, 문신, 그림)", "작업": "지정됨 (편집, 삭제, 업로드)","state": "변경됨"}
텍스트:
텍스트 데이터 : const data = {"data": 지정됨,"origin": "api_req","type": "textual","category":"about/services","sub_category": "지정됨" ,"작동": "지정됨","상태": "변경됨"}
데이터 가져오기: 데이터를 가져오려면 http://52.28.221.30/account/api/readdata.php에 Get 요청을 보내고 작업 , 하위 작업 , 페이지 및 제한을 지정합니다.
예: 요청 : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
예: 응답 : {'success': True, 'page': '0', 'limit': '4', 'total_data_count': 12, 'data_count': 4, 'data': [{'img_url': 'http ://127.0.0.1/backend/account/images/site-images/favicon-sm.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/favicon-lg.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images /23891556799905703.png'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/youtube-circle-black.png'}]}