Punta de Choros

27 декември 2009

На 2009г й оставаха 120ч съществуване. От календара падна поредния лист с дата 27 декември и към 10.30ч сутринта ме събуди звън от телефона.

Инсталация на Microsoft шрифтове в Ubuntu 16.04

14 януари 2017

нсталация на Microsoft шрифтове в Ubuntu се поражда от идеята браузърите в различните системи, да показват еднакво текстовото съдържанието на интернет страниците.

Ubuntu 16.04 инсталация на USB disk on Key

19 ноември 2016

Арсеналът ми от мобилни компютри съдържа Fujitsu Lifebook AH530. Това е бюджетна машина от 2011г на Intel Core i5-480M процесор и 4GB DDR3 RAM памет.

gparted

Paragon ExtFS for Windows

30 юли 2016

ExtFS for Windows е утилита на Paragon Software разработена през 2013г. Тя представлява решение, предоставящо пълен достъп на четене и на запис до раздели ...

msvcr100.dll is missing Windows 10

04 октомври 2016

Майк Патерсън от Plixer, компания по компютърната сигурност, публикува доклад , че Windows 10 изпраща данни в криптиран вид от вашата машина на всеки пет минути. Той е направил максимума, за да спре изтичането, но системата продължавала да изпраща информация.


Известно е, че пряк начин за колекция на e-mail адреси от спамърите е преглед на изходния html код на страниците. С помощта на регулярен израз извличат e-mail адрес/и и го добавят в своя база данни. Успехът им е наличие на определена последователност символи, включващи @ (задължителен атрибут за сформиране на пощенски адрес), а цел на това действие изпитваме всички ние, получавайки писма с предложение да си увеличим члена, купим изгодно виагра или подобно малоумие.


Madonna - Miles Away
Всичко започва от начина по-който обявяваме електронния си адрес, а HTML учи, че се постига така:
HTML код
<a href="mailto:name@address.domain">Контакт</a>
Визуализация в браузъра
Спам-робота (за краткост бот) посещава вашата страница. Вижда изходния код. Стига израз mailto:name@address.domain. Забира го за себе си и си отива. На свой ред мислим как да предотвратим тази неправда известна още като обфускация на e-mail адрес

Начин 1

Това е най-простия начин и той идва пръв на ум - представа на адрес, чрез графическо изображение. На нужно място, чрез html код слагаме картинка с надпис адреса. Веднага лъсват следните минуси. Пропада възможността да кликаме по линк на адреса, задействайки пощенския клиент на системата. Copy-paste също е натирен в немилост. При режим на браузъра изключени картинки вашият адрес става невидим, а указването му в атрибут alt е тъпо.
Достойнство на този метод идва само от ползване на любим шрифт
HTML код
<img src="image.png" alt="email address" title="email address" />
Визуализация в браузъра
email address

Начин 2

Прибягна се до обявяване на e-mail адреса по екзотичен начин - name@address.domain става на name [at] address [dot] domain. Тук стандартния синтаксис се замени с нестандартен. За голяма група интернет-юзери това е откровена тъпня, а закачена на претендиращ сайт - два пъти повече такава.
HTML код
<p>name [at] address [dot] domain</p>
Визуализация в браузъра
name [at] address [dot] domain

Начин 3

Тук наблюдаваме интересен случай. Обръщаме name@address.domain в niamod.sserdda@eman с помощта на PHP функция strrev(), а после прекарваме през свойствата на CSS (unicode-bidi и direction) и постигаме огледален образ на текста. Ботът е заблуден на практика, но доброжелателния потребител също. При Copy-Paste нещата остават обърнати отзад напред. Замисълът пропада.
PHP код
<p style="unicode-bidi: bidi-override; direction: rtl;">
<?=strrev("name@address.domain") ?>
</p>
Визуализация в браузъра
niamod.sserdda@eman
Изходен код
<p>niamod.sserdda@eman</p>

Начин 4

Продължаваме на вълна PHP. Това е култов език за мен. Базови знания в стил процедурно програмиране ни дават възможност да маскираме адреса си по следния начин.

Друга възможност да скрием адреса се свежда до алтернативен синтаксис (мнемоники/entitles-символи), основан на кодиране на символите в вид &#ANSI_код_на_символа (numeric character reference). Браузърите умеят да четат подобен код напряко. Генерацията на подобен код ще доверим на PHP.

Два цикъла ще сравняват дължината на променливите в началото на скрипта. При всеки обход ще връщат html значение на символа върнат от функция ord(). Изходът ще се формира от конкатенация и voila. Имаме кодиран адрес. Ботът в случая ще вижда изходния код.
PHP код
<?php
$email = 'name@address.domain';
$url = 'name@address.domain';
$safe_email='';
$safe_url='';
for($i=0; $i<strlen($email); $i++){
   $safe_email .= '&#'.ord($email{$i}).';';
}
for($i=0; $i<strlen($url); $i++){
   $safe_url .= '&#'.ord($url{$i}).';';
}
 echo "<a href='$safe_url'>$safe_email</a>";
Визуализация в браузъра
Изходен код
ascii code
Достойнства: лека автоматизация, независимост от параметри включена графика или JavaScript в браузъра на потребителя.
Главен минус е, че ботовете станаха по-умни. Те се научиха да четат алтернативно представяне на адреса.

Начин 5

Всички пътеки водят в Рим. А умните казват, че надежен способ за обфускация на e-mail лежи на JavaScript. Засега ботовете са безсилни да интерпретират JavaScript код. Стига да не са заточени под определена страница.

Мързеливият начин ме караше да прекарам HTML кода през този on-line енкодер.
Енкодерът спестява писане на код подобен в начин 4. Тук конкатенация върши подобен израз: $safe_email.='%'.dechex(ord($email{$i}));
JavaScript код
<scriрt type="text/javascriрt">doсument.write(unescaрe('%3C%61%20%68%72%65%66%3D%22%6D%61%69%6C%74%6F%3A%6E%61%6D%65%40%61%64%64%72%65%73%73%2E%64%6F%6D%61%69%6E%22%3E%6E%61%6D%65%40%61%64%64%72%65%73%73%2E%64%6F%6D%61%69%6E%3C%2F%61%3E'));</scriрt>
Визуализация в браузъра
Изходен код
<scriрt type="text/javascriрt">doсument.write(unescaрe('%3C%61%20%68%72%65%66%3D%22%6D%61%69%6C%74%6F%3A%6E%61%6D%65%40%61%64%64%72%65%73%73%2E%64%6F%6D%61%69%6E%22%3E%6E%61%6D%65%40%61%64%64%72%65%73%73%2E%64%6F%6D%61%69%6E%3C%2F%61%3E'));</scriрt>
Този начин ползва JS-функция unescape(), която връща символ по HEX-значение на неговия ASCII-код в ISO Latin-1 кодировкa.

Чета предположения, че някои антивирусни програми подозират сайта за атакуващ при подобен запис. Windows си е windows, там всичко пищи. От естетическа гледна точка през погледа на web-дизайнера, кодът изглежда изродски. Печели с бързина и простота на изпълнението. Колкото толкова.

Начин 6

Тук постигаме замисъла с jQuery. Това е начина чрез когото съм прикрил адреса в блога си (горно меню, бутон Контакт).
JavaScript код
<script type="text/javascript">
 $(document).ready(function(){
  var Con = document.getElementById('promail');
  if(Con){
   var Link = document.createElement('a'); 
   var Parts = ['ma','ilto:na','me','@add','ress.domain'];
   Link.href = Parts[0]+Parts[1]+Parts[2]+Parts[3]+Parts[4];
   var Mail = ['na','me','@add','ress.domain'];
   var aMail= Mail[0]+Mail[1]+Mail[2]+Mail[3];
   var Text = document.createTextNode(aMail);
   Con.appendChild(Link);
   Link.appendChild(Text);
  }
 });
</script>

<p>пишете на <span id="promail"></span></p>
Визуализация в браузъра
Изходен код
<p>пишете на <span id="promail"></span></p>
Нещата тук се постигат динамично. След като се зареди документа, jQuery прихваща идентификатора от таг span и го подлага на проверка за съществуване. В променливи Parts и Mail раздробяваме адреса. Това са масиви, които събираме обратно в цяло. Ясно е, че между кавичките трябва да поставите вашия текущ адрес. За финал формираме html кода с метод appendChild(), който формира между тагове span потомък (дъщерен елемент) с хиперлинк към пощенския адрес. В нужно място на вашата страница поставете параграфа с вложени тагове span и готово.

С посочените примери не се изчерпва темата и те са по-скоро авторска практика.





до нови срещи   ^.^
14.10.2011 profruit 


3 Response to "Защита на email адрес от сканиране"

  1. am-am Said,

    Това е много ценно :)

     

  2. Profruit Said,

    Не засегнах начина на обявяване с флаш, но там съм много на Вие. jQuery ми е слабост и последния начин е заявена гордост на умения. Очаквай още ценни пинизи, само време не стига.

     

  3. am-am Said,

    А едно време се оплаквах, че в пощата ми нямам нито едно спам писмо XD

     

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: Ubuntu, WEB, Photoshop, Фотография, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога