panos78 Δημοσ. 28 Ιανουαρίου 2006 Δημοσ. 28 Ιανουαρίου 2006 Καλησπέρα. Ή κατάσταση έχει ως εξής: Έχω μια λίστα με ονόματα Το κάθε όνομα μπορεί να γίνει και σύνδεσμος με το email του. Τόσο το όνομα όσο και το email λαμβάνονται από ένα αρχείο txt. Υπάρχει τρόπος αυτά τα δημοσιευμένα email να προστατευτούν και να μην μπορούν να αναγνωστούν από spambots?
agamoi-thytai Δημοσ. 28 Ιανουαρίου 2006 Δημοσ. 28 Ιανουαρίου 2006 mporeis na ta simpieseis kai me password an auto se dieukolinei. i alliws me kapoio script na ginontai image i flash.
panos78 Δημοσ. 28 Ιανουαρίου 2006 Μέλος Δημοσ. 28 Ιανουαρίου 2006 Σε ευχαριστώ για την απάντηση. Δεν θέλω να προστατέψω τις διευθύνσεις με κωδικό πρόσβασης, να τα κάνω εικόνες ή flash. Για να γίνω πιο σαφής: Θέλω οι χρήστες της σελίδας να έχουν την δυνατότητα, πατώντας πάνω σε ένα όνομα να μπορούν να στείλουν email στο συγκεκριμένο μέλος και παράλληλα αυτή η ηλεκτρονική διεύθυνση να μην μπορεί να ανιχνευτεί από spybots. Εν ολίγοις, θέλω (αν υπάρχει) κάποιο κώδικα (κατά προτίμηση σε php) που να μετατρέπει τις διευθύνσιες email που λαμβάνει η σελίδα από το αρχείο txt σε τέτοια μορφή που να μην ανιχνεύονται μέσα στον κώδικα της σελίδας. Υπάρχει κάτι τέτοιο;
xux99 Δημοσ. 2 Φεβρουαρίου 2006 Δημοσ. 2 Φεβρουαρίου 2006 Εδώ μπορείς να κρυπτογραφήσεις τις διευθύνσεις ηλεκτρονικού ταχυδρομείου.
panos78 Δημοσ. 2 Φεβρουαρίου 2006 Μέλος Δημοσ. 2 Φεβρουαρίου 2006 Έχω βρει παρόμοιες σελίδες και αλλού. Εκείνο που με ενδιαφέρει είναι να βρω τον κώδικα που δημιουργεί αυτή τη μετατροπή. Αν έχεις 100 διευθύνσεις που θες να προστατέψεις πως μπορείς να το κάνεις χωρίς να γράφεις τον κώδικα για κάθε διεύθυνση; Σημείωση: Μπορεί αυτό που ζητάω να μην γίνεται, αλλά θέλω τουλάχιστο να το ξέρω για να μην ψάχνω άδικα.
alkisg Δημοσ. 3 Φεβρουαρίου 2006 Δημοσ. 3 Φεβρουαρίου 2006 Με Javascript σου κάνει; Π.χ. γράφεις στο κείμενό σου κανονικά panos78 και βάζεις onclick μια Javascript function η οποία κοιτάει ένα πινακάκι, αυτό με τις διευθύνσεις email, και το mailto το κάνει η function. Αν πας σε Javascript η απόκρυψη από τα spam bots είναι εύκολη δουλειά, π.χ. μπορείς να έχεις διαφορετικό πίνακα για τα usernames και διαφορετικό για domains: var usernames[] = {'panos78', ...} var domains[] = {'gmail.com', ...} οπότε μετά στη function τα ενώνεις usernames + '@' + domains και στέλνεις το mail.
panos78 Δημοσ. 3 Φεβρουαρίου 2006 Μέλος Δημοσ. 3 Φεβρουαρίου 2006 Θα μου κάνει αν μπορεί να μπει στον υπάρχων κώδικα της σελίδας. Η σελίδα είναι γραμμένη σε php. Ένα μέρος του κώδικα είναι: > // the file that the archive is stored in $logfile = "DS/members.txt"; import_request_variables("gP", ""); $file_line = file($logfile); $total_lines = count($file_line); echo"<p class=\"normal\" style=\"text-align: center\">Áñéèìüò ìåëþí: <b>$total_lines</b><br><br>"; echo"<table class=\"normal\" width=\"100%\" height=\"200\" border=\"1\" align=\"center\">"; echo"<tr><td valign=\"top\">"; $rows = $total_lines / 2; if(empty($number)){ $number = $rows; } for($i=$total_lines; 0 <= $i; $i--) { $line[] = $file_line[$i]; } for($i = 0; $i <= $rows; $i++){ if ($i >= ($number-$rows) && $i < $number){ $line_array = explode("|",$line[$total_lines - $i]); // How it prints out each signing if(!empty($line_array[4])) { echo"<a href=\"mailto: $line_array[2] $line_array[1] <$line_array[4]>\">$line_array[1] $line_array[2]</a> ($line_array[3])<br>"; } else { if(!empty($line_array[3])) { echo"$line_array[1] $line_array[2] ($line_array[3])<br>"; } else { echo ""; } } } } Από ότι κατάλαβες η μεταβλητή που με ενδιαφέρει είναι η $line_array[4]. Μέσα στο αρχείο κειμένου members.txt οι καταχωρήσεις έχουν την εξής μορφή: |Επώνυμο|Όνομα|Ιδιότητα|Ηλεκτρονική Διεύθυνση| Η Ηλεκτρονική Διεύθυνση έχει την κανονική μορφή: [email protected] Πως μπορώ να χρησιμοποιήσω javascript για να την προστατέψω; Και πως μπορεί αυτός ο κώδικας javascript να ενσυματωθεί στον υπάρχων που παρέθεσα παραπάνω;
alkisg Δημοσ. 4 Φεβρουαρίου 2006 Δημοσ. 4 Φεβρουαρίου 2006 Καταρχάς άλλαξε την php σου ώστε να παράγει κώδικα της μορφής: <a href="mailto:onoma_στο_etairia.com">Όνομα εταιρίας</a> Μετά με javascript function θα αλλαχθούν μαζικά όλα τα "_στο_" με @. Για να ενσωματώσεις τη javascript function απλά την κάνεις echo πριν τελειώσει το head. Δεν έχω χρόνο τώρα να σου γράψω τη function, πάντως θα είναι μικρότερη από 10 γραμμές και θα κάνει χρήση του anchors array της javascript. Μικρό μειονέκτημα: στους χρήστες που έχουν απενεργοποιημένη τη Javascript θα εμφανίζεται το _στο_ και όχι το @.
panos78 Δημοσ. 4 Φεβρουαρίου 2006 Μέλος Δημοσ. 4 Φεβρουαρίου 2006 Πρώτον ο κώδικας που έχω σε php θέλω να μείνει ως έχει και να παράγει το αποτέλεσμα όπως ακριβώς φαίνεται. Δεύτερον, δεν θέλω να μην ανοιχνεύεται μόνο το παπάκι «@» από τις διευθύνσεις αλλά ολόκληρη η διεύθυνση, δηλαδή Όνομα Επώνυμο <[email protected]>. Για να αλλάξω μόνο το σύμβολο @ είναι πολύ εύκολο και μέσα από php και xωρίς να υπάρχει πρόβλημα αν κάποιος δεν έχει ενεργοποιημένη javascript.
alkisg Δημοσ. 4 Φεβρουαρίου 2006 Δημοσ. 4 Φεβρουαρίου 2006 Ό,τι παράγεις από την php είναι αυτό που βλέπουν τα bots. Δηλαδή το αν είναι php, asp ή σκέτη html δεν παίζει ρόλο στα bots και στους επισκέπτες, η διαφορά είναι στον server. Επομένως αν δεν αλλάξεις τον κώδικα php σου προστασία δε γίνεται. Θα πρέπει η php να ΜΗΝ παράγει σωστές διευθύνσεις email, και η Javascript να τις διορθώσει. Έτσι τα bots (που δεν εκτελούν Javascript) θα δουν χαλασμένες (ή καθόλου) διευθύνσεις, ενώ οι επισκέπτες θα δουν κανονική σελίδα.
panos78 Δημοσ. 4 Φεβρουαρίου 2006 Μέλος Δημοσ. 4 Φεβρουαρίου 2006 Αν εισάγω τον παρακάτω κώδικα: $line_array[4] = stripslashes ($line_array[4]); $line_array[4] = str_replace ("@","(at)", $line_array[4]); και μετά με τον κώδικα javascript που θα μου δώσεις να μετατρέπεται το (at) σε @ οταν πατάει ο χρήστης το σύνδεσμο; Γίνεται αυτό;
alkisg Δημοσ. 4 Φεβρουαρίου 2006 Δημοσ. 4 Φεβρουαρίου 2006 Ναι. Η μετατροπή θα γίνεται με το φόρτωμα της σελίδας (οπότε φυσικά θα είναι έτοιμο όταν ο χρήστης πατήσει το link). ><script type="text/javascript"> <!-- window.onload = function() { var i, pos, at = '(at)'; for (i = 0; i < document.links.length; i++) { pos = document.links[i].href.indexOf(at); if (pos >= 0) document.links[i].href = document.links[i].href.substr(0, pos) + '@' + document.links[i].href.substr(pos + at.length); pos = document.links[i].innerHTML.indexOf(at); if (pos >= 0) document.links[i].innerHTML = document.links[i].innerHTML.substr(0, pos) + '@' + document.links[i].innerHTML.substr(pos + at.length); } } //--> </script> Υ.Γ. δεν έβαλα regular expressions (γι' αυτό και βγήκε πάνω από 10 γραμμές) για μεγαλύτερη συμβατότητα με παλιούς web browsers. Το δοκίμασα και παίζει σε IE6, IE4, Firefox και Opera.
NiCkReD Δημοσ. 4 Φεβρουαρίου 2006 Δημοσ. 4 Φεβρουαρίου 2006 αν δε θες να μπλεξεις με προγραμματισμο κλπ κλπ, μπορεις να αντικαταστησεις το "@" με κατι αλλο...πχ "στο"..... nickred sto email.com και μετα να το αλλαζουν οι χρηστες....πολυ προχειρη λυση... αλλιως μπλεκεις με τα παραπανω
Skeftomilos Δημοσ. 5 Φεβρουαρίου 2006 Δημοσ. 5 Φεβρουαρίου 2006 Μια πιο σύντομη εκδοχή της ιδέας του AlkisG: ><script type="text/javascript"> window.onload = function() { for (var i = 0, link; link = document.links[i]; i++) { if (/\(at\)/.test(link.href)) { link.href = link.href.replace(/\(at\)/g, '@') } } } </script> Μια πιθανή βελτίωση μπορεί να είναι η μετατροπή του πρωτοκόλου mailto: σε http:. Για παράδειγμα αντί για... ><a href="mailto:john(at)yahoo.com">John</a> ...να είναι αρχικά έτσι: ><a href="http://www.mail.com/yahoo/john.htm">John</a> Επίσης δεν είναι απόλυτα βέβαιο ότι τα boots δεν τρέχουν JavaScript. Από τεχνική άποψη είναι μάλλον εύκολο, αρκεί ένα CreateObject("InternetExplorer.Application") και μερικές ακόμα εντολές για να διαβαστεί το document.body.innerHTML αφού θα έχουν τρέξει πρώτα όλα τα scripts. Υπάχουν κάποια αντίμετρα, όπως να απαιτείται κάποια ενέργεια του χρήστη για να τρέξει το script (κάποιο mouseover), ή να μπει χρονοκαθυστέρηση. Όλα αυτά απλά αυξάνουν το επίπεδο ασφάλειας, δεν υπάρχει τρόπος για 100% προστασία.
panos78 Δημοσ. 5 Φεβρουαρίου 2006 Μέλος Δημοσ. 5 Φεβρουαρίου 2006 Ευχαριστώ για τις απαντήσεις σας. Κάτι ακόμα, μήπως υπαρχει τρόπος να ελέγξω αν οι ηλεκτρονικές διευθύνσεις που έχω κρυπτογραφήσει, αν όντως δεν μπορούν να ανιχνευθούν; Παλαιότερα είχα βρει κάποιες σελίδες που έγγραφες τη σελίδα που θες να γίνει ο έλεγχος και σου ανέφερε αν «βλέπει» ηλεκτρονικές διευθύνσεις ή όχι και ποιες φυσικά. Ξέρετε κάτι περόμοιο;
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.