-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwrite_process.php
More file actions
32 lines (25 loc) · 1.2 KB
/
Copy pathwrite_process.php
File metadata and controls
32 lines (25 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
session_start();
require("db_config.php");
$conn = mysqli_connect($dbConn["host"],$dbConn["user"],$dbConn["pwd"]);
if (!$conn) {
die("데이터베이스에 연결할 수 없습니다.");
}
mysqli_select_db($conn, $dbConn["db"]);
// 보안을 위한 Escape 처리 (그냥 문자로 처리함)
// injection 공격 : 고의로 DROP TABLE과 같은 명령어를 입력할 때
// $_POST로 넘어오는 인자값들을 직접 받지 않고, mysqli_real_eacape_string을 통해 filtering된 인자로 받아줌.
$filtered = array(
'TITLE' => mysqli_real_escape_string($conn, $_POST['title']),
'CONTENT' => mysqli_real_escape_string($conn, $_POST['content']),
);
$pre_sql = "SELECT id FROM user WHERE nickname='".$_POST['writer']."'";
$pre_result = mysqli_query($conn, $pre_sql);
$row = mysqli_fetch_assoc($pre_result);
// 글 등록
$sql = "INSERT INTO post (classify, title, content, user_id, regdate) VALUES ('".$_POST["classify"]."', '".$filtered['TITLE']."', '".$filtered['CONTENT']."', ".$row['id'].", now())";
$result = mysqli_query($conn, $sql);
//Redirection 처리가 끝난 다음 사용자를 다시 어느 페이지로 되돌리는 것
header("Location: http://localhost:3000/index.php");
exit;
?>