PHP & MYSQL 8
위와 같이 하면 현재 몇 개가 있는지만 표시됩니다. topic뒤에 limit로 제한을 걸어서 몇 개가 나올지 제한하는게 안전합니다.
mysqli_fetch로 데이터베이스에서 데이터를 가져올 수 있습니다. array형식으로 가져왔습니다. where로 추출하고 싶은 id를 선택할 수 있습니다. row[]나 column[]방식으로 추출하고 싶은 부분을 선택합니다.
while($row = mysqli_fetch_array($result))을 이용하여 반복적으로 실행합니다. 데이터가 끝날 경우에는 while안에 NULL이 들어가며 PHP에서는 NULL값이 False와 같으므로 반복문이 끝나게 됩니다.
PHP & MYSQL 9
select부분을 index부분에 합친 걸 볼 수 있습니다. 각 항목을 선택할 경우 id값이 바뀝니다.
index부분에서 데이터베이스의 내용이 보이도록 좀 더 수정합니다.
PHP & MYSQL 10
사용자가 입력된 정보에서 문제가 될 정보를 차단하는 걸 필터링이라고 하고, 역으로 노출할 때 문제가 될 정보를 차단하는 걸 escaping이라고 한다. 보안에서 가장 중요한 첫번째는 의심하기이다.
$filtered_id = mysqli_real_escape_string($conn, $_GET['id']);를 이용해 필터링합니다. mysqli_real_escape_string를 사용하면 DELETE같은 명령어를 문자로 바꿔 걸러줍니다.
mysql에서 --는 주석의 기능을 합니다. 필터링 기능이 없을 경우 --를 이용하여 정보를 수정하거나 삭제하기 또한 가능합니다.
htmlspecialchars를 넣으면 스크립트 공격을 차단할 수 있습니다. (bee box의 xss와 비슷함)
PHP & MYSQL 11
update와 process_update를 추가하여 글을 수정할 수 있도록 해준다.
PHP & MYSQL 12
데이터를 삭제할 때는 post방식을 사용한다. delete는 form으로 처리한다.