그누 버그란이 없어서 여기다 올려 봅니다.
그누 버그란이 없어서 여기다 올려봅니다.
현재 그누보드 언어팩을 작업중인데 작업하면서 발견한게 write_update.php에서 빈 제목이나 빈 내용에 대한 체크가 없네요. 아니 있네요. 그런데 보니까 다음과 같습니다.
현재 그누보드 언어팩을 작업중인데 작업하면서 발견한게 write_update.php에서 빈 제목이나 빈 내용에 대한 체크가 없네요. 아니 있네요. 그런데 보니까 다음과 같습니다.
if (!isset($_POST['wr_subject']))
그런데 빈 제목이나 ' '이런 값이 들어가도 isset은 성립됩니다. $_POST['wr_subject'] = ''인 경우도 변수는 존재한다고 보니까요.
정확히 체크하려면 if(!strlen(trim($_POST['wr_subject'])))로 되어야 할 것 같습니다.
자바스크립트가 오류나면 write.skin.php에서 required 검사를 못하는 경우가 생길 텐데 그럼 빈 제목의 글이 올라가게 됩니다.
실제로 언어팩 작업을 하면서 자바스크립트 오류가 생겼는데 전송하는데는 문제가 없어서 글쓰기 버튼을 누르니 빈 제목과 빈 내용을 가진 글이 등록이 되어 결국 어드민으로 접속해서 지운 사례가 생겼습니다.
예전에 빈글과 빈 내용이 왜 생기는지 질문이 올라온 적이 있었는데 그 때는 이해가 안갔는데 지금은 알 것 같네요...
자바스크립트가 오류나면 write.skin.php에서 required 검사를 못하는 경우가 생길 텐데 그럼 빈 제목의 글이 올라가게 됩니다.
실제로 언어팩 작업을 하면서 자바스크립트 오류가 생겼는데 전송하는데는 문제가 없어서 글쓰기 버튼을 누르니 빈 제목과 빈 내용을 가진 글이 등록이 되어 결국 어드민으로 접속해서 지운 사례가 생겼습니다.
예전에 빈글과 빈 내용이 왜 생기는지 질문이 올라온 적이 있었는데 그 때는 이해가 안갔는데 지금은 알 것 같네요...
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 7개
이걸루 바꾸셔도되겟내요
그리고 마찬가지로 내용이 비어있을 수도 있으므로
if (!strlen(trim($_POST['wr_content'])) || preg_match('/^( | )+$/i', trim($_POST['wr_content'])))로 내용을 체크하면 될 것 같습니다. 뒤의 preg_match는 위지윅 에디터 사용시 공백값을 체크하기 윈한 겁니다.
굳이 체크를 안하는 것은 사용자 form에서 처리를 대부분 하기 때문 입니다.
재가 알기론 폼도 스페이스 공백으로 넘겨도 체크 되는걸로알고있는데요
2중 3중의 방어벽을 세우는것이 기초라고 했습니다.
즉.. 폼검사할때에도.. 하고..
update 에서도 하면 더더욱 좋겠죠^^