HTML Validator 0.8.4 update

김정균의 이미지

KLDP open service 로 제공하고 있는 W3C HTML Validator 의 한국어 서비스가 0.8.4 로 업데이트 되었습니다. 0.8.4 로 업데이트 된지 몇달 되었는데, 미처 여유가 없어 틈틈이 아주 조금씩 작업해서 오늘 업데이트 완료 했습니다. http://validator.kldp.org 입니다. 더불어 Link Checker 역시 4.4 로 업데이트 했습니다.

CSS validator 도 업데이트를 해야 하는데, 이건 JDK version 문제를 타는지 영 잘 안돼네요. 이전에 빌드는 1.5 로 했고, 서비스는 1.2 로 하고 있었는데 요즘 버전은.. 이것도 안돼는 군요

안습인건.. Jigsaw web server 가 리부팅시에 올라오지 않게 되어 있어서 서비스가 안되고 있었는데 아무도 reporting 을 안해주시는.. (사용자가 없다는 T.T)

댓글

EcusE의 이미지

kldp의 아이피가 변경된 이후 제외룰을 업데이트를 안해줬더니 http header에 Accept가 없어서
modsecurity에 의해 차단 되더군요. 변경된 아이피를 적용해 풀어놨습니다.
요청된 http header는 아래와 같습니다.

GET /weblog/ HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Cache-Control: max-age=0
Host: free4u.wo.tc
User-Agent: W3C_Validator/1.606

아무래도 Jigsaw의 소스차원에서 해결해 줘야 될 문제일까요? 아니면 제가 사이트를 너무 까탈스럽게(?)
운영하고 있는걸까요? ^^;;

modsecurity exclude rule은 아래처럼 설정했습니다. modsecurity를 사용중이고
ruleid "960015" (Request Missing an Accept Header)문제가 있으시다면 아래 코드를 참고하세요

SecRule REQUEST_HEADERS:User-Agent "w3c_validator"  \
 "chain,log,noauditlog,pass,ctl:ruleRemoveById=960015,msg:'kldp_W3C_Validator'"
SecRule REMOTE_ADDR "^211\.115\.85\."
김정균의 이미지

Jigsaw 는 다음과 같이 헤더 요청을 합니다.

GET / HTTP/1.0.
Pragma: no-cache.
Cache-Control: no-cache, no-store.
User-Agent: Jigsaw/2.2.5 W3C_CSS_Validator_JFouffa/2.0.
Accept-Language: ko,*.
Accept: text/css,text/html,text/xml,application/xhtml+xml,application/xml,image/svg+xml,*/*;q=0.1.
Host: oops.org.

제가 아직 mod_security 를 사용해 보지 않아서.. mod_security rule과는 어떻게 되는지는 파악이 안되네요 :-)

EcusE의 이미지

위에 적어주신대로만 접속한다면 modsecurity에 걸릴게 전혀 없어 보입니다.
modsecurity를 사용하는 사람들은 뭐 알아서 잘 사용하겠지요^^;;
딱히 운영하시는(제작자가 아닌)분이 해결해야 할 문제는 아니라고 생각 되기도 합니다.
제가 위에 적은 header부분은 W3C HTML Validator( http://validator.kldp.org/ ) 가 접근할때의 로그였습니다.
제가 jigsaw라고 잘못 적었었네요. 저도 modsecurity를 초기 버전부터 사용해 오고 있는데 말 그대로 알아서 잘 사용해야 하는것 같습니다 :)

w3c-validator 0.8.4, 0.8.5소스를 들여다 봤는데 httpd/cgi-bin/check파일에 accept헤더를 잘 보내게 되어 있는듯 한데
perl 까막눈(?)이라 잘 모르겠습니다 ^^;;;

김정균의 이미지

으.. 코드를 봤더니.. Accept header 를 날려 주려면, form block 안에 수동으로

<input type="hidden" name="accept" value="application/xhtml+xml,*" />

과 같이 수동으로 기입해 줘야 하는 군요 --; 허허 이런건.. 설정 파일에서 처리해 주는 것이 좋을 것 같은데.. 쩝.. 음.. 그냥 check perl script 에서 수정하는 것이 나중에 반영하는 것이 더 쉬울 것 같군요.

어느 정도 레벨로 주는 것이 좋을 까요? 그냥 Accept: */* 이어도 상관 없을까요? Accept 가 있느냐 없느냐 정도의 문제인지요?

EcusE의 이미지

정확하게는 모든 인식가능한 파일형식을 적어주면 좋겠지만 다른 방화벽이나 프로그램은 모르겠습니다만
modsecurity 는 Accept: */* 형식으로도 충분해 보입니다.

테스트 해보니 확실히 Accept: 헤더부분이 있기만 해도 잘 동작하네요. Accept: */*로 충분합니다. ^^;

김정균의 이미지

Accept: text/html,text/xml,application/xhtml+xml,application/xml,*/*;q=0.1

와 같이 반영을 했습니다.

EcusE의 이미지

별거(?)도 아닌데 귀찮게 해드린건 아닌지 모르겠네요 ^^ modsecurity의 exclude rule에서 해당rule파일을 제거후 테스트해봤는데
아무런 문제 없이 잘 됩니다. modsecurity의 corerule을 그대로 적용해 사용하시는 분들도 문제없이
kldp의 HTML Validator(w3c사이트는 반응속도도 그렇고 약간 느린감이 있습니다 - kldp의 Validator는 상당히 빠르죠 ^^ )를
이용하실 수 있을듯 합니다. 빠른처리 감사합니다 :)

김정균의 이미지

흑.. 업데이트 한지 하루만에 0.8.5 가 나왔구요 T.T

EcusE의 이미지

w3c사이트에서 30일에 소스를 확인할때도 0.8.5버전이 있더군요. 몇가지 에러나는걸 잡아야 되는데
손이 잘 안가네요 --;

김정균의 이미지

사뿐하게 validator 0.8.5 / link checker 4.5 로 업데이트 해 놓았습니다. T.T css-validator 도 업데이트 해야 할텐데.. 쩝.

김정균의 이미지

- validator 1.3 / link checker 4.81 update
- 64bit 서버로 이전 *^^*

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.