ბლოგი → ელფოსტის მახინჯი მისამართები
ბევრჯერ უკითხავთ ხოლმე ჩემთვის ნაცნობებს, ზოგს ასეთი უცნაური ელფოსტა რატომ აქვსო? ალბათ თქვენც შეგინიშნავთ, რომ ხშირად სხვადასხვა ფორუმებზე, ბლოგებში ან სხვა საიტებზე ხალხი საკუთარი ელფოსტის მისამართს „დამახინჯებულად“ წერს ხოლმე. მაგალითად, ასე: my[@]email.com ან ასე: my_აქქეიცითრაც_email.com
თუ არ იცით გეტყვით, რომ ამის მიზეზი მარტივია — მათ არ სურთ საკუთარი ელფოსტის მისამართები სპამერებს ჩაუვარდეთ ხელში. სპამერებს, ანუ იმ ხალხს, ვინც არასასურველ, სარეკლამო წერილებს აგზავნიან ჩვენ ინბოქსებში. სპამერები კი, როგორც წესი, ელფოსტის მისამართებს ავტომატურად აგროვებენ.
არსებობს სპეციალური პროგრამები, ე.წ. „ბოტები“, რომლებიც დაბოდიალობენ სხვადასხვა
საიტებზე, მიყვებიან ბმულიდან ბმულს და სადაც კი ელფოსტას წააწყდებიან, თავიანთ
ბაზაში ინახავენ. სპამერი კი, გაუშვებს ხოლმე მსგავს ბოტს და რამდენიმე საათში ელფოსტის
ასეულობით მისამართს იგდებს ხელში; რომელთა პატრონებსაც მოგვიანებით ან პენისის
გადიდებას შესთავაზებენ, ან შვეიცარულ საათებს 20 დოლარად :)
ის მომხმარებლები კი, ვინც ასე ამახინჯებენ საკუთარ მისამართებს, სწორედ ამ სპამ-ბოტებისგან
იცავენ თავს. პროგრამა ხომ ადამიანი არ არის, წინასწარ განსაზღვრული პრინციპით მოქმედებს.
ეძებს ტექსტს, რომელიც მის კონკრეტულ შაბლონს ემთხვევა, მაგალითად ასეთს:
[a-z0-9]+[@]+[a-z0-9]+[.]+[a-z]
ანუ, ისინი ეძებენ ტექსტის ნაგლეჯს, სადაც მიყოლებით შეხვდებათ ლათინური ანბანის ასოები ან ციფრები (ანუ, სახელი),
შემდეგ @ ნიშანი, შემდეგ — ისევ ლათინური ანბანის ასოები ან ციფრები (ანუ, დომენი) და
ბოლოს წერტილი და დომენის ზონა (.ge, .com...)
მაშინ კი, როდესაც ელფოსტის მისამართში სხვა სიმბოლოები ერევა, ეს ბოტები ვეღარ ცნობენ მას და გვერდს უვლიან.
ადამიანი კი, ვისაც მიწერეს ეს მისამართი, (როგორც წესი) მოაზროვნე არსებაა და ხვდება ჩანაფიქრს :)
თუმცა, ყველა ვერ ხვდება ხოლმე. და ეს პირველ რიგში გამოუცდელ ინტერნეტ-მომხმარებლებს ეხებათ.
სწორედ ამიტომ, მე პირადად პატივს არ ვცემ კომპანიას, რომელიც საკუთარ საიტზე მასთან
დასაკავშირებელ მისამართს ასეთი დამახინჯებული ფორმით აქვეყნებს :) ან კიდევ, უფრო უარესი
— სურათად აქვს ჩასმული ელფოსტის მისამართი.
პირველი მეთოდის (ანუ, დამახინჯებულად დაწერის) მინუსი იმაში მდგომარეობს, რომ ძალიან ბევრი მომხმარებელი უბრალოდ ვერ ხვდება რა ჩაიფიქრა ტექსტის ავტორმა და ცდილობს წერილი დამახინჯებულ მისამართზე გააგზავნოს ხოლმე. აბა დაფიქრდით, რამდენი დამწყები მიხვდება, რომ contact[@]company.ge-დან კვადრატული ფრჩხილები უნდა მოაცილოს?
მეორე, საკმაოდ გავრცელებული მეთოდის (ელფოსტის მისამართის სურათად ჩასმის) მთავარი უარყოფითი
კი ის არის, რომ ასეთი ელფოსტის დაკოპირება უბრალოდ შეუძლებელია. და მომხმარებელს მისი ჯერ დამახსოვრება,
შემდეგ კი ხელით აკრეფა მოუწევს წერილის გაგზავნისას. და ასეთ დროს ამ სურათზე mailto:
ბმულის მიბმა გამოსავალი არ არის, რადგან ჯერ ერთი, ვებმეილის ეპოქაში ვცხოვრობთ და უმრავლესობა დესკტოპ-კლიენტებს
აღარ ხმარობს ელფოსტისთვის; და მეორეც — თუ mailto:-ს შემდეგ ღიად დაწერთ მისამართს,
მაშინ რაღა აზრი აქვს ამ ბმულის სურათზე მიმაგრებას? :)
ბევრი რომ არ გავაგრძელო, ამ პრობლემის მრავალი დელიკატური გადაწყვეტა მოიფიქრეს მსოფლიოს დეველოპერებმა. ჩემი ფავორიტი კი დამახინჯებული ელფოსტის მისამართის დინამიურად გასწორების პრინციპია. აი მისი ერთ-ერთი ყველაზე მოხერხებული რეალიზაცია jQuery-ს ბაზაზე:
$(document).ready(function(){ // ჩამოვიაროთ დოკუმენტის ყველა del ტეგი $("del").each(function(){ var $thisDel = $(this); var $parentA = $thisDel.closest("a"); var $childA = $("a", $thisDel); // ვანაცვლებთ ასტერიკს del ტეგის შიგთავსში და ვაუქმებთ გადახაზვას $thisDel.text( $thisDel.text().replace("*", "@") ).css("text-decoration", "none"); if($childA.length > 0) { // თუ ყავს del ტეგს შვილობილი a ტეგი $childA.attr("href", $childA.attr("href").replace("*", "@") ); } if($parentA.length > 0) { // თუ del ტეგის მშობელი a ტეგია $parentA.attr("href", $parentA.attr("href").replace("*", "@") ); } }); }
პრინციპი მდგომარეობს შემდეგში:
საიტის რედაქტორი ნებისმიერ ადგილზე, სადაც სურს ელფოსტის მისამართის დაწერა,
წერს მისამართს დამახინჯებულად, ასეთი ფორმით: contact*company.ge,
ოღონდ შემდეგ ამ ტექსტს აფორმატირებს გადახაზულად, ანუ ათავსებს <del>
ტეგში. კოდის ეს ნაგლეჯი კი, მომხმარებელთან გვერდის ჩატვირთვისას, ნახულობს ყველა
<del> ტეგის შიგთავსს და თუ სადმე შეხვდება ასტერიკი (*),
ანაცვლებს მას ეთ-ნიშნით (@).
<del> ტეგი არჩეული გვაქვს იმ მიზეზის გამო, რომ მისი გამოყენება საიტის ტიპიური
რედაქტორისგან, ვისაც როგორც წესი, html-ის არაფერი გაეგება, მოითხოვს მინიმალურ
ძალისხმევას — გადახაზული ტექსტის სტილი ხომ ნებისმიერ
WYSIWYG რედაქტორს აქვს, სქელი, დახრილი
და ხაზგასმული სტილების გვერდით. თანაც, ეს ყველაზე იშვიათად გამოყენებადი ტეგია.
სხვა შემთხვევებში, ბუნებრივია, უფრო მოქნილი გადაწყვეტაც შეიძლება გამოიყენოთ, მაგალითად,
დამახინჯებული ელფოსტის შემცველი ტეგის კლასის მიხედვით მოძებნა ან სხვა ვარიაციები ამ თემაზე...
დავუბრუნდეთ ამ პატარა კოდს:
გარდა იმისა, რომ იგი ასწორებს დამახინჯებებს <del> ტეგში, იგი ასევე ეძებს ბმულის
ტეგებსაც, <del>-ის შვილებში ან მის მშობლად და ასწორებს ამ ბმულების href
ატრიბუტების მნიშვნელობებსაც. (ეს იმ შემთხვევისთვის, თუ რედაქტორმა მაინც გადაწყვიტა ელფოსტის მისამართისთვის
mailto: ბმულის მიბმა).
შეცვლილ <del> ტეგს კი იქვე უყენდება სტლის text-decoration პარამეტრი none-ზე,
რათა თუ გარე CSS-ში არ არის გათვალისწინებული, ჩვენი ელფოსტა გადახაზული არ დარჩეს.
(გთხოვთ შეუქოთ jQuery-ს მოქნილობა :D)
ესეც ასე. სადაც კი საიტის რედაქტორს დაჭირდება ელფოსტის მითითება, იგი დაწერს მას ასტერიკით „ეთ“-ის მაგივრად და
მოათავსებს <del> ტეგში (თუ უნდა, mailto:-საც კი მიუთითებს, აქაც ასტერიკით);
მომხმარებელი ბედნიერი იქნება — ელფოსტას სწორად წაიკითხავს, დააკოპირებს, ამობეჭდავს და კედელზე გაიკრავს;
სპამ-ბოტი კი უბედური — ისინი ხომ JavaScript-ს არ ამუშავებენ და, შესაბამისად, ასტერიკიანი
ტექსტი შერჩებათ ხელში :)
P.S. შეიძლება იფიქროთ, რომ ზედმეტი თავის ტკივილია, მაგრამ
ყოველთვის გახსოვდეთ, რომ ყველა მომხმარებელი დეველოპერი არ არის და მათთვის ცხოვრების
გაადვილება სწორედ ჩვენი — დეველოპერების მოვალეობაა :)
კარგ საიტს კი სწორედ ასეთი დეტალების ერთობლიობა ქმნის, რომელიც ჩვენ ასე ძალიან გვიყვარს. :)
P.P.S. რათქმაუნდა, მთელი ეს ქიმია საჭირო არ არის, თუ კომპანიას
ძლიერი სპამ-ფილტრი აქვს დაყენებული და სპამის უბრალოდ არ ეშინია. :)
20 კომენტარი:
კომენტარის დამატება:
იგზავნება
გმადლობ, კომენტარი დამატებულია.

გაზაფხულმა გამოგაფხიზლათ? :D
ვუქებ(თ) ნამდვილად :D
შესანიშნავი და საკმაოდ საინტერესო პოსტია...
just, ერთი შეკითხვა, HTML-ს აქვს (http://www.degraeve.com/reference/specialcharacters.php) ასეთი Special Character-ი, @, რომელსაც "ეთ"-ის ფუქნცია აკისრია, ეგ რომ გამოვიყენოთ, ეფექტი არანაირი ექნება? მეილი ისევ დაისპამება? : )
ადრე იყო მეთოდი, როცა მთლიან მისამართს შუაზე გლეჯდნენ ხოლმე სხვადასხვა ტეგებში.
მაგალითად ასე:
rocko<span>@</span><strong>.omedia</strong>.ge
მაგრამ მერე დაიკიდეს. როგორც აღმოჩნდა, ზოგი სპამ-ბოტი ან html-ს მთლიანად პარსავდა ან ჩვეულებრივად არენდერებდა და შემდეგ ეძებდა მეილებს.
ახლა რა დონეზეა წასული მსოფლიო სპამერების ტექნოლოგია არ ვიცი :))
მაგრამ მე სპამერები არ მაწუხებენ :D
ვინმე სპამერი არ გვყავს სანაცნობოში? :D:D
მარა JQuery მე როგორც ვიცი სხვა რამეს უზრუნვეყოფს, ეგ <form-ში არ გამოიყენება?
http://davituri.com/ :D
ლანდიშ +1
კარგი კითხვა იყო
jQuery :-D
<a href="mailto:spam@yahoo.com" onmouseover="javascript:this.href='mailto:viking.syd' + '@' + 'gmail.com'"> კონტაქტი </a>
აი ასეთი, მაგალითად.
საინტერესოა :)
პ.ს. მისამართის დამახინჯება ჯერჯერობით ეფექტურია, მაგრამ რასაც ადამიანის ლოგიკა ხვდება, მაგდენის ვერა, მაგრამ me[@]domain.com -ის მსგავსი და ცოტა რთული შემთხვევებისთვის შესაძლებელია ბოტისთვის "ლოგიკური მსჯელობის" ჩადება (ჯერჯერობით სპამერები ამისთვის თავს არ იწუხებენ, ისედაც ბევრი "კლიენტი" ჰყავთ :) )
ესეც მომეწონა :)
PHP მიკეთებს მაგ სურათს. კერძოდ GD ბილბიოთეკა. ყველაზე "ნაღდი" ეგ მგონია.
და საერთოდ, საიტზე მეილი "კი უნდა იდოს" მაგრამ მე ყოველთვის კონტაქტის გვერდზე გადავდივარ და გასაგზავნ ფორმას ვიყენებ. იქედან შეიძლება "noreply" გაუკეთო რო "თქვენ გააგზავნეთ ელ.ფოსტა ამა და ამ მისამართზე, დიდი მადლობა :)"