Ticket #701 (closed defect: fixed)

Opened 13 months ago

Last modified 7 months ago

트랙백 출력시 HTML Entity가 제대로 처리되지 않는 문제

Reported by: creorix Owned by: creorix
Priority: major Milestone: 1.6.1
Component: Core Version: 1.6
Keywords: trackback,html,entity Cc: dev@…
Release:

Description

  • 트랙백 전송할 때 HTML Entity가 두 번 인코딩되어 전송됩니다.

Change History

  Changed 13 months ago by creorix

  • summary changed from 트랙백 전송시 HTML Entity가 제대로 처리되지 않는 문제 to 트랙백 출력시 HTML Entity가 제대로 처리되지 않는 문제

수정합니다. 트랙백 전송 과정에는 문제가 없고, 출력시 두 번 인코딩해서 출력하는 것 같습니다.

  Changed 13 months ago by creorix

[4550]

  • Wordpress.com으로 테스트해 본 결과 이렇게 하는 것이 맞는 것 같습니다. (트랙백 관련 표준 문서를 찾을 수 없어서 HTML entity를 인코딩해서 보내는 것인지 그냥 보내는 것인지 확인할 수 없었습니다.)
  • 1.1을 사용하는 블로터닷넷의 블로그(http://bloter.bloter.net/tt/bloter/32#trackback13276)에서 동일한 문제가 발생하는 것을 보면 예전부터 문제가 있었던 것 같습니다.
  • 아래 트랙백을 보면 티스토리가 트랙백을 보내는 방식이 문제가 있음을 알 수 있습니다. (타 서비스형 블로그에서 전송된 트랙백과 비교해 보시면 됩니다.) 티스토리 팀에 알려서 수정할 수 있도록 조치 부탁드립니다.

  Changed 13 months ago by inureyes

  • status changed from new to assigned
  • version changed from 1.5 to 1.6

  Changed 13 months ago by gendoh

  • 클리어하게 정의해 봅시다
    • 지금 소스에서 어떻게 동작하는지 정확히 기억이 안나는 상태. 공정하겠죠?
  • 트랙백의 스펙은 단순합니다. POST를 사용하는 Form 전송입니다.
    • 이후에 어거지로 인코딩 같은것이 추가되었지만 원래는 form submit입니다.
  • 그럼 HTML Entity들은 어떻게 되어야 할까요.
    • Textarea에 입력하고 submit을 할 때와 동일해야 합니다.
  • 더불어! 스펙을 이따위로 만들어 두면 개고생함을 알 수 있는 대표적인 사례.
    • Blog API도 마찬가지죠.

  Changed 11 months ago by inureyes

자 두분께서 결정을 내려 주시기 바랍니다. :)

  Changed 10 months ago by inureyes

  • milestone changed from 1.6 to 1.6.1

follow-up: ↓ 8   Changed 7 months ago by creorix

  • form submit으로 <a>를 보냈을 때 $_POST로 들어가는 값은 &lt;a&gt;가 아니고 <a>입니다.
  • 트랙백 내용 요약(excerpt)에 HTML 태그를 허용하지 않는다고 가정하면, 태그를 strip하고 entity를 원래대로 복구하고 전송하는 것이 맞을 것 같습니다. 즉 [4550]에 있는 대로 처리하면 문제 없을 듯 싶습니다 :) 다른 분들 생각은 어떠하신지요?

in reply to: ↑ 7   Changed 7 months ago by inureyes

Replying to creorix:

* form submit으로 <a>를 보냈을 때 $_POST로 들어가는 값은 &lt;a&gt;가 아니고 <a>입니다. * 트랙백 내용 요약(excerpt)에 HTML 태그를 허용하지 않는다고 가정하면, 태그를 strip하고 entity를 원래대로 복구하고 전송하는 것이 맞을 것 같습니다. 즉 [4550]에 있는 대로 처리하면 문제 없을 듯 싶습니다 :) 다른 분들 생각은 어떠하신지요?

옙 그 쪽이 가장 받아들이기 쉽군요. 그렇게 가도록 합시다

  Changed 7 months ago by creorix

  • owner changed from inureyes to creorix
  • status changed from assigned to new

  Changed 7 months ago by creorix

  • status changed from new to assigned

[5532]

  • 트랙백을 보낼 때 HTML entity를 원래대로 복구한 뒤 전송합니다.
  • 출력할 때 제목도 htmlspecialchars로 인코딩합니다.

  Changed 7 months ago by inureyes

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.