LonnieNa 작성:

이상하게 잘 안되네요.
utf-8 정의해주고
저장도 utf-8로 했는데도 그러네요.

가끔 보면 호스팅업체에서 Content-type: text/html; charset=euc_kr 식의 헤더를 보내주는 경우가 있는데 그런 경우 저런 문제가 발생할 수 있습니다. smile

확장자를 php로 바꾸시고 아래 코드를 문서의 맨 앞에 삽입해보세요.

<?PHP header("Content-type: text/html; charset=utf-8"); ?>

만약 위의 코드로 해결이 된다면 .htaccess 를 만드시고 아래 코드를 넣으시면 해결할 수 있을겁니다.

php_admin_value default_charset ""

간혹가다 보면 플러그인을 활성화시키시고, update.php 등을 실행시킬 필요가 있는 경우가 있던데... 이런 걸 자동으로 처리할 수 있도록 ActivatePlugin, DeactivatePlugin 등의 이벤트가 추가되는것도 좋지 않을까 하는 생각이 드네요 wink

LonnieNa 작성:

그거  get 방식으로 255자 제한이 아니던가요?
아닐수도..
2년넘게 보고있는 php책에서 그렇게 언뜻 본듯.

찾아봤는데 http/1.1 규격에는 길이 제한이 없는 것 같습니다.

하지만 ms 기술문서를 보니 'Maximum URL length is 2083 characters in Internet Explorer' 라는군요. 255자 관련해서는 http 와 관련된 rfc 문서에서 오래된 proxy 서버등에서 255자 이상을 처리하는데 문제가 있는 경우가 종종 있으니, 255 자가 넘는 uri 에 대해서는 워닝을 날려주는게 좋다 정도로 나와있네요.

참고
http://support.microsoft.com/kb/208427
ftp://ftp.isi.edu/in-notes/rfc2616.txt

4

(13 답글들, 잡담하기에 작성)

하얀별 작성:

아 맥은 거의 모든것이 렘에 로딩되어 안착되어있는 렘의 롬형식화로 상당히 빠른 구현이 가능하며 그래픽 부분에는 맥이 대세이죠!! 그건 확실합니다. 그래픽은 맥 서버는 리눅스 가정용 + 게임은 호환성 문제로 윈도우의 앞승이죠!!(뭔소리고!! 퍽퍽)

저도 맥을 좋아하지만 램의 롬형식화라는게 무슨 얘긴지 모르겠네요. wink 맥에서 그래픽이 대세인 세상은 이미 지나갔다고 봅니다.

편집 디자인 ... 그것도 쿽 익스프레스 3.1k 를 원하는 쪽이 아니라면 맥이 앞선다 윈도우가 앞선다라고 할만한 작업은 별로 없는것 같습니다. 다만 유져가 얼마나 익숙하냐의 문제로...

5

(13 답글들, 잡담하기에 작성)

대세라기보다 (그정도면) 저렴한 가격에 어느정도 깔끔한 외관 거기다가 컴쟁이들을 자극하는 os x 이라는 매력적인 운영체제를 사용해볼 수 있다는 장점이 합해진 결과가 아닐까 싶습니다. wink

옛날처럼 mac os x 만 사용해야하는 것도 아니고 원한다면 ms windows 를 사용하는 것도 문제가 없으니...

p.s) 비인기 블로그인 제 블로그와 대조적이시군요. -_ㅜ

유마 작성:

맑은 고딕을 싫어하는 이유는 다름 아닌, 클리어 타입 적용 때문이죠.
왜냐면? 맑은 고딕을 사용하고 다른 것에는 별반 문제가 없으나, 몇몇 폰트에서는 이상하게 보입니다. 그래서, 그걸 사용하시는 분들은
클리어타입을 좋아하지 않죠. 저도 한때 그랬고요

클리어타입은 css 에서 설정할 수 있는게 아닙니다. wink 개인적으로 클리어타입이 맘에 들지 않는다면 바탕화면 설정의 고급 설정에서 클리어타입을 사용안함으로 설정해주면 되는 문제입니다.

컴ⓣing 작성:

글번호가 764번 이하면 다 포워딩 시키면 될 것 같아서 이렇게도 해봤는데..
RewriteRule ^(www\.mydiary\.biz\/[0-7][0-6][0-4])$ /home2/skynet/html/rediret.php [L]

이것도 틀린 문법일까요?? ㅡ.ㅡ;;

문법 관련해서는 모르겠고 생각하신 아이디어랑 정규표현식이랑 매칭이 제대로 안되고 있습니다.

0~7사이한글자 0~6사이 한글자 0~4사이 한글자 이렇게 나와야지 매칭이 되게 되므로 699 같은 숫자는 저 패턴에 매칭이 되지 않습니다.

구지 정규표현식으로 표현하시고 싶으시다면

([0-6][0-9][0-9]|[0-9][0-9]|[0-9]|7[0-5][0-9]|76[0-4]) 와 같은 식이 되야 하지 않을까 싶네요.

컴ⓣing 작성:

RewriteCond ^/([0-9].*)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*) /home2/skynet/html/redirect.php [L]

redirect.php 파일의 내용은..
<?
        $que = getenv("REQUEST_URI");
        header("location:http://mydiart1st.tistory.com$que");
?>

저런식이라면 구지 redirect.ph 를 이용할 필요가 없습니다.

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)    http://mydiart1st.tistory.com/$1 [R=301]

</IfModule>

301이 아마 moved permantly 일거에요 wink 뭐하튼 위와 같이 하시면 됩니다.

스팸 툴들은 browser_id 를 제대로 들어가있지 않은 경우가 많습니다. 그래서 전 아래 방법을 wink

BrowserMatch "^$" badagent
SetEnvIf REFERER "^$" !badagent

10

(24 답글들, 스킨 및 플러그인에 작성)

* AddPostEditorToolbox : 글관리에서 글 작성/수정시 위지윅/textarea 출력 후 발생
    $target : 공백
    $mother : null

AddPostEditorToolbox 의 경우도 $mother 속성으로 $id 가 넘어가는게 확장성에는 더 좋지 않을까 하는 생각을 해봅니다.

새 글 작성 / 수정 시에 모두 AddPostEditorToolbox 이벤트가 호출되니까 $suri[id] 를 이용하면 수정 모드일 때에 대해서도 (누군가가 원할 수 있는) 어떤 동작을 할 수 있지 않을까 싶은...

파일을 첨부하고, 파일을 클릭하면 뜨는 창(열기, 다른이름으로 저장을 선택하는 창)에서 열기를 선택할 경우 파일이 제대로 열리지 않는 문제가 있습니다.

IE6 에서 발생하는 현상이고 (7이나 5에서는 모르겠네요.) 아래와 같이 blog/attachment/index.php 에서 cache-control 관련된 header 를 출력 해주면 간단히 해결할 수 있습니다. wink

header("Cache-control: private");
header('Content-Disposition: attachment; filename="' . UTF8::convert($attachment['label']) . '"');
header('Content-Transfer-Encoding: binary');
header('Last-Modified: ' . Timestamp::getRFC1123GMT($fstat['mtime']));
header('Content-Length: ' . $fstat['size']);
header('Content-Type: ' . $attachment['mime']);

cache-control 종류와 관련해서는 rfc 문서를 보면 자세히 나오는데 private, no-cache, public 들 중 어떤 걸 쓰는게 좋일지까지는 잘 모르겠네요.

12

(24 답글들, 스킨 및 플러그인에 작성)

inureyes 작성:

js로 값을 모아서 넘기는 이유는 보안에 관련된 여러 가지가 있습니다. 허용하지 않는 값 이상은 받지 않겠다는 것이고, js단이나 php단 모두에 해당 부분이 구현되어 있지요. 플러그인의 경우 그 벽을 넘기가 힘들기 때문에 json으로 serialize하는 방안이 논의되고 있었습니다만, 어느새 묻혀 버렸네요. smile 다시 끄집어 내야 할 듯 합니다.

add 나 update 의 $IV 변수를 통해 그런 동작을 하는 것은 알고 있습니다. wink

하지만 허용하지 않는 값 이상은 받지 않는 것이 얼마나 보안상의 도움이 될 지 의문이 드는군요.

별 도움이 되지 않는다면 js 를 이용하지 않고, 제한된 값말고도 넘어가는걸 허용하는 방향으로 가는게 확장성 측면에서 좋을거라 생각하고,


정말 허용하는 값 이상을 받지 않는 것이 보안에 도움이 된다고 하면 json 등으로 serialize 하기보다는 plugin 의 index.xml 에서 추가 필드들을 명시해줄 수 있도록 하는게 더 좋지 않을까 싶네요. (단 로딩한 플러그인 리스트가 구축된 후에 POST 값 체크를 해야하기 때문에 손이 좀 많이 간다는 문제가 있겠습니다.)

13

(24 답글들, 스킨 및 플러그인에 작성)

ghost_ghost 작성:

넵 그런데  현재 상황으로는 저 이벤트의 파워가 '알림' 이외에는 없는듯합니다. 몇몇 이벤트들도 플러그인이 태터에 관여 할수 있는 여지를 주지 않은 경우가 보이네요..

이 의견에 동감합니다.

wordpress 의 경우 플러그인이 테이블에 임의의 필드를 추가시킨 후 (alter table...) 그 추가된 필드를 이용해서 여러가지 동작을 하는 것이 가능하지만 (실제 tag 관련된 플러그인들이나 related_post plugin 들이 비슷한 동작을 합니다.) 제가 지난 며칠간 테태툴즈를 이용해서 비슷한 것을 시도해본 결과...


1. AddPostEditorToolbox 를 이용해서 임의의 인풋 박스를 추가하더라도 실제 넘겨질 데이타들은 javascript 를 통해 수집되므로 실제 필드를 추가하기 위해선 blog/owner/post/entry/post 에 있는 javascript 를 hack 할 필요가 있게됩니다. (실제로는 저것만이 아니라 blog/owner/post/entry/add 와 blog/owner/post/entry/update 의 첫라인도 수정해야합니다.)

그냥 일반적인 textarea, input tag 등을 이용해서 쉽게 확장할 수 있는 구조로 가는 것이 더 좋지 않았을까 하는 생각을 해봅니다. 그렇다고 textarea, input tag 등을 이용해서 구현한다고 현재 지원하는 것들을 지원하지 못하는 것도 아닙니다. wink



2. blog/owner/entry/add/ 등에서 사용하는 insert query 에서는

insert into tablename (column_name1, column_name2,...) values (value1, value2,... );
식의 쿼리가 아닌

insert into tablename values (value1, value2,... )
식의 축약된 쿼리이기 때문에 alter table 등을 사용해서 필드를 추가하게 될 경우 글을 추가하는 것이 불가능하게 되는 문제가 있습니다. (처음부터 이런 식의 확장은 고려를 하지 않은 설계로 보이긴 합니다만)



3. 위와 같은 문제로 인해 테이블에 필드를 추가하기보다는 새로운 필드들을 집어넣은 테이블을 새로 만들고, 그 테이블을 이용하려해봤습니다.

하지만 AddPost 만이 존재하고, UpdatePost 이벤트는 존재하지 않기 때문에 값을 넣을 수는 있어도 수정까지는 할 수가 없네요. 또 한 번 막혀버렸습니다. wink

만약 AddPost 와 UpdatePost 등의 이벤트가 모두 존재하고, javascript 를 이용해 값들을 모아 넘겨주는 구조가 아니며,  축약된 쿼리를 사용하지 않았다면 alter table 을 통해 필드를 만들고 AddPost, UpdatePost 등의 이벤트에서 값을 Update 해주는 것을 통해 tatter 에는 전혀 손을 데지 않고도 플러그인 형태로 간단한 구현이 가능했을텐데 이래저래 처음 생각했던 것과는 많이 달라 결국 테터를 hack 해야겠네요. 흑;;

14

(4 답글들, 잡담하기에 작성)

예전에 wordpress 에서 korean trackback plugin 을 만들면서 비슷한 문제로인해 mysql_query( "update set ... 을 이용했던 기억이 있습니다. wink 이것도 비슷하게 처리가 가능할거라 생각합니다.

흠 저도 비슷한 걸 해야할 일이 생겨서 input form 을 몇 개 추가하기는 했는데 _POST 를 찍어본 결과 -_- 값이 안넘어오고 있네요. 또 뭘 처리해줘야하는건가 -_-;;