<object></object> 만 넣고 테스트해본 결과입니다.
겉보기에는 문제 없는거 같은데요.
파이어 폭스3:
visibility=0&starred=0&title=zz&permalink=&content=%3Cobject%3E%3C%2Fobject%3E&contentFormatter=ttml&contentEditor=modern&published=1&category=0&location=%2F&tag=&acceptComment=1&acceptTrackback=1
IE 6.0:
첨부 파일 참고.
겉보기에는 위와 똑같은 문자열 같은데요. 파폭은 저장이 되고, IE는 저장이 안 됩니다.
이렇게 되면, 서버에서 받는 쪽이 문제이지 않을까 싶어서 좀 더 디버깅을 했습니다.
php 나 textcube에 어떤 디버그툴이 있는지 몰라, error_log 함수로 의심 가는 부분에 박아서 로그 확인하는 방법을 썼습니다.
처음에 언급했던, config.php 에서 header 404 를 리턴해버리게 되는 원인인 Validator::validate()가 실패하는 이유를 찾아봤습니다. 여기저기 지웠다 뺐다해서 줄번호가 좀 다를 수도 있는데, 450 번째 줄 근처인 것 같군요.
if (array_key_exists(3, $rule))
$array[$key] = $rule[3];
else if (array_key_exists('default', $rule))
$array[$key] = $rule['default'];
else if ((!isset($rule[4]) || $rule[4]) && (!isset($rule['mandatory']) || $rule['mandatory']))
{
error_log( "$key, $rule[0] missing!!" );
return false;
}
에러 로그를 위처럼 삽입했을 때, 서버 에러 로그에는 다음과 같이 남았습니다. 첫줄이 저 error_log에 의해서 남겨진 기록이고, 그 아래부분은 config.php에서 $IV['POST'] 변수에 무슨 값이 들어 있나 확인하기 위해 추가로 출력해본 겁니다.
visibility, int missing!!
visibility: int,0,3
starred: int,0,2
category: int,0
title: string
content: string
contentFormatter: string
contentEditor: string
permalink: string,
location: string,/
tag: string,
acceptComment: Array,0
acceptTrackback: Array,0
published: int,0,1
자, 이제 뭘 해야할까요?