HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 14.04.2016, 22:34
blackice777
Guest
Сообщений: n/a
Провел на форуме:
1282

Репутация: 1
По умолчанию

На некоторых сайтах стоит защита от парсинга email, на сайте они отображаются нормально, но в коде выглядят так:

Код HTML:
HTML:
[email*protected]
И при парсинге мы получаем вместо email: [email*protected]

Решил написать функцию на php для преобразования закодированных таким образом email к нормальному виду, может кому пригодится:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]emailDecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"]){
for([/COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]hexdec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"])),[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"]) -[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]dechex[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]hexdec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"])) ^[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]), -[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]);
}
return[/COLOR][COLOR="#0000BB"]urldecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"]);
}
[/
COLOR][/COLOR
Пример работы при использовании simple_html_dom:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]find[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'.__cf_email__'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]getAttribute[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'data-cfemail'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$email[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]emailDecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"]);
die([/COLOR][COLOR="#0000BB"]$email[/COLOR][COLOR="#007700"]);

function[/COLOR][COLOR="#0000BB"]emailDecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"]){
for([/COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]hexdec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"])),[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"]) -[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]dechex[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]hexdec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'0x'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$email_encoded[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$n[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"])) ^[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]), -[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]);
}
return[/COLOR][COLOR="#0000BB"]urldecode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$e[/COLOR][COLOR="#007700"]);
}
[/
COLOR][/COLOR
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ