그누보드 보안
본문
아래 [1]에서 에서 제목과 내용을 받아서
[2] 에서 제목과 내용을 데이터 베이스에입력하는 기본적인 프로그램 입니다.
아래와 같이 작성하면 보안적으로 어떤 문제가 생길 수 있을까요?
request로 받을때 htmlspecialchars 만 사용해줘도 문제가 안생길까요?
보안적으로 어떻게 보완해야 할지 의견 주시거나, 참고 URL 주시면 감사하겠습니다.
문제가 되는 부분이 뭐가 있을까요?
[1] write.php
<form action='writeProc.php' method='post'>
<input type='text' name='title'>
<input type='text' name='content'>
</form>
[2] writeProc.php
include $_SERVER['DOCUMENT_ROOT'].'/common.php';
$title=$_REQUEST['title'];
$content=$_REQUEST['content'];
insert into table (title, content) values('$title','$content');
sql_query($sql);
답변 1
_REQUEST 사용 자체가 문제가 됩니다.
form이 post니 _POST로 받으세요.
자세한건
https://github.com/gnuboard/gnuboard5/blob/master/bbs/write.php
의 룰을 따라 작업 하시면 되며
그누보드 베이스라면
$title=$_REQUEST['title'];
$content=$_REQUEST['content'];
대신 바로 $title 나 $content를 사용 해도 될겁니다.