문제
사용하는 방법이 있나요 JQuery
이메일 주소를 숨기거나 암호화하기 위해 HTML
페이지의 구문을 변경하지 않고 href
?
해결책
JQuery를 사용하는 것은 클라이언트 측에 있기 때문에 원하는 경로가 아닐 수도 있습니다.서버 측에서 암호화하지 않는 이유가 있습니까?
다른 팁
글쎄, 코멘트로서, 소스에 숨겨진 이메일 주소가 있고 jQuery를 사용하여 올바른 주소를 갖도록 링크를 수정하거나 구성하기를 원할 것입니다.왜냐하면 봇은 자바스크립트 실행 결과가 아니라 소스를 보기 때문입니다 ;-)
의미론적 나치는 "암호화"가 아니라 "인코딩"이라고 말합니다.암호화는 디코딩하려면 비밀이 필요함을 의미합니다.다음으로 변환 중 HTML 엔터티 구문 괜찮을 것이다 부호화 인간이 엿보는 것을 막기 위한 프로세스이지만 봇은 쉽게 해독할 수 있습니다.
Mike Stone이 제안한 것에 편승하여 제가 할 일은 서버 측에서 이를 암호화하고 서버 측에서 이를 해독하여 JSON(mvc 프레임워크의 jsonresult, 웹의 jsonresult)으로 반환하는 무언가를 갖는 것입니다. 서비스, http 처리기 등).그렇게 하면 원할 때 jQuery를 사용하여 이메일 주소를 난독화할 수 있지만 여전히 Java 스크립트를 지원하지 않는 봇을 혼란스럽게 할 것입니다.다시 말하지만 이것은 완벽한 솔루션은 아니지만 귀하가 찾고 있는 것을 수행할 수 있습니다.
내가 한 일은 렌더링될 때 난독화하고 숨긴 다음 자바스크립트를 사용하여 난독화를 수정하고 링크를 표시하는 것입니다.
예를 들어 서버에서 다음을 렌더링할 수 있습니다.
<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>
그런 다음 Javascript를 사용하면 정규식을 사용하여 바꿀 수 있습니다 ^^
~을 위한 @
그리고 $$
~을 위한 .
어떤 계획을 생각해내더라도 괜찮을 것입니다.물론 봇이 자바스크립트를 이해한다면 상관없습니다.
당신이 접근하는 봇의 95%를 차단하고 나머지 사용자는 주소를 제대로 볼 수 있습니다.