디자인은 전혀 신경쓰지 않은 게시판 만들기!
디자인보단 모의해킹을 하기 위한 게시판 '기능'만 만들고싶었기 때문에...
한 눈에 들어오지 않는 건 이해해주세용

우선 테이블을 먼저 만들어야하기때문에
CREATE TABLE user (
name CHAR(20) NOT NULL,
ID CHAR(20) PRIMARY KEY,
pass CHAR(20) NOT NULL
);
SQL에서 테이블 먼저 생성해주고
회원가입을 위한 폼 먼저 만들어줬당
[ lib.php ] -> 자주 쓸거라 그냥 include 해주려고 따로 빼놨어용
<?php
session_start();
$conn = mysqli_connect('localhost', 'root', '@@@@', 'bbs')
or die("MySQL 연결 실패:".mysqli_connect_error());
?>
[ register.php ]
<?php
include 'lib.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입</title>
</head>
<body>
<h1>회원가입</h1>
<form method="post" action=" ">
<p>닉네임: <input type="text" name="name" placeholder="닉네임을 입력하세요"></p>
<p>아이디: <input type="text" name="id" placeholder="아이디를 입력하세요"></p>
<p>비밀번호: <input type="password" name="pw" placeholder="비밀번호를 입력하세요"></p>
<p>비밀번호 확인: <input type="password" name="pw2" placeholder="비밀번호를 재입력하세요"></p>
<p><font color="red">비밀번호는 4자리 이상 설정해주세요</font></p>
<p><input type="submit" value="회원가입">
<button type="button" onclick="location.href='login.php'">로그인</button></p>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$pw = $_POST['pw'];
$name = $_POST['name'];
$pw2 = $_POST['pw2'];
$check = "SELECT * FROM user WHERE id = '$id'";
$idresult = mysqli_query($conn, $check);
$namecheck = "SELECT * FROM user WHERE name = '$name'";
$nameresult = mysqli_query($conn, $namecheck);
if (empty($id) || empty($pw) || empty($pw2) || empty($name)) {
echo "<script>alert('입력되지 않은 칸이 있습니다'); history.back();</script>";
exit;
}
elseif (mysqli_num_rows($nameresult) > 0) {
echo "<script> alert('이미 존재하는 닉네임입니다'); history.back();</script>";
}
elseif (mysqli_num_rows($idresult) > 0) {
echo "<script> alert('이미 존재하는 아이디입니다'); history.back();</script>";
}
elseif ( strlen($pw) < 4 ) {
echo "<script> alert('비밀번호를 4자리 이상 설정해주세요'); history.back();</script>";
}
elseif ($pw !== $pw2) {
echo "<script>alert('비밀번호가 일치하지 않습니다'); history.back();</script>";
exit;
}
else {
$register = "INSERT INTO user (ID, name, pass) VALUES ('$id', '$name', '$pw')";
$result = mysqli_query($conn, $register);
echo "<script>alert('회원가입이 완료되었습니다!'); location.href='login.php';</script>";
}
}
?>
</form>
</body>
</html>
HTML 화면에서 입력되지 않은 칸이 있는지랑 비밀번호 길이도 검증하고 DB로 보내버리기!
모의해킹 공부를 위한 게시판이라서
애초에 sqli 대비는 하지않은,, 보안에 매우매우 취약한 회원가입 창 되겠습니다
'모의해킹' 카테고리의 다른 글
| PHP + MySQL 게시판 제작 - 게시판 리스트 (0) | 2026.02.16 |
|---|---|
| PHP + MySQL 게시판 제작 - 로그인 & 로그아웃 (0) | 2026.02.16 |
| SQL Injection (Get/Search) (0) | 2025.07.04 |
| XSS - reflected (GET) (1) | 2025.06.15 |
| bwapp 설치하기 (0) | 2025.05.17 |