묻고답하기
도와주세요 ㅠ HTML로 글 작성시 id 태그 삭제되는 문제.
2015.03.03 22:50
정말 미치고 팔짝 뛸 노릇입니다.
현재, 게시판에서 Footnote 태그를 아래와 같이 쓰고 있습니다.
<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>
<div class="footnotes"><ol>
<li class="footnote" id="fn:1">
<p>footnote.<a href="#fnref:1" title=""></a></p>
</li>
</ol></div>
그런데 문제가, 관리자로 로그인해서 글을 쓰면 id= 부분이 잘 적용되는데,
비회원이나 비관리자로 접속해서 글을 쓰면, 똑같은 글을 쓰더라도 id= 부분만 날아갑니다. 즉 아래처럼,
<sup><a href="#fn:1">1</a></sup><div class="footnotes"><ol><li class="footnote">
<p>footnote.<a href="#fnref:1" title=""></a></p>
</li>
</ol></div>
id 부분은 죄다 날아가고 위의 코드만 남습니다… 당연히 Footnote는 작동 안 하구요.
제가 해결책으로 시험해 본 것이,
일단 에드온, 모듈 쪽을 전부 on/off 시켜봤습니다. 이 방법으로 해결 안 됐구요.
다음은 쓰고 있는 게시판이 Sketchbook인데, 혹시 거기 설정이 잘못되었나 싶어서 살펴보았습니다.
거기도 문제가 없었습니다.
마지막으로 해 본 시도는, 페이지 로딩할 때 “jquery 가 id를 삭제하나” 싶어서,
삭제 태그를 찾아보니 removeattribute 더군요.
그래서 페이지 소스보기로 로딩된 js를 일일이 찾아 클릭하여 removeattr로 검색해보니,
/common/js/jquery.min.js에
finally{g||t.removeAttribute("id")}}}
요놈에 유일하게 id가 있길래 function 전체를 수정할 능력은 되지않아, 저기서 id만 지워봤습니다.
finally{g||t.removeAttribute("")}}}
이렇게 만들어 봤는데 역시나 해결이 안 되더군요.
정말 답답해서 속이 터질 지경입니다.
아예 안 되면 모르겠는데 관리자로 쓸 때는 되고, 정회원으로 쓸 때는 안 된다라…
이런 경우는 처음 겪어보네요.
제가 미려한 Footnote를 좋아해서 사이트에 Bigfoot footnote 설치한 상태인데,
혹시 그게 문제인가 싶어서 지워봐도, 문제는 해결되지 않았습니다.
사이트는 invincible.kr이고
자유게시판 http://invincible.kr/freeboard 비회원도 글 쓸 수 있게 열어놓았습니다.
http://invincible.kr/lore/581 이 글은 관리자가 작성하여 정상적으로 footnote가 출력됩니다.
http://invincible.kr/freeboard/778 이 글은 id 속성 날아간 페이지입니다.
혹시 id 말고도 저렇게 날아가는 속성이 있다면 다 안 날아가게 고치고 싶네요…
그리고 마지막으로 하나 질문이 더 있는데,
저렇게 id 속성이 날아간 페이지 소스보기를 하면
Log DEPRECATED : xGetElementById() is deprecated function. (x.min.js, line 1)
이렇게 뜹니다. 이건 별 상관 없는 것일까요?
긴글 읽어주셔서 감사합니다.
벌써 6시간 이상 이것만 붙잡고 있네요.
고수분들 불쌍한 중생 구제해 주세요 ㅠㅠ
댓글 3
-
kittens
2015.03.03 22:54
-
닉이
2015.03.04 03:13
config/func.inc.php 에서 purifierHtml($content);을 삭제하면 해결되실껍니다만....
xss에 취약해지는 문제가 발생하겠죠.
preg_replace등을 이용해 $content의 특정문자를 Bigfoot footnote형식으로 변환하시는 방법을 사용하시는건 어떨까합니다.
-
kittens
2015.03.04 03:18
댓글 감사합니다.
여기 게시판을 더 뒤져보니 공략들이 나오긴 하네요.
확실히 전체 삭제는 너무 위험한 것 같구요, 제 나름대로 또 열심히 해 보고 있습니다.
시간은 정말 오래 걸리네요 ㅋ
마크업 에디터로 작성했는데 코드 부분이 검은색이네요.
잘 안 보여서 죄송합니다 ㅠ