hdonoblepsias Δημοσ. 7 Μαρτίου 2019 Δημοσ. 7 Μαρτίου 2019 (επεξεργασμένο) Καλησπέρα. Έχω φτιάξει μία φόρμα επικοινωνίας σε html που στέλνει σε μία php (εγω το έχω φτιάξει στο ίδιο αρχείο). Μου έρχονται όμως πάρα πολλά spam. Προσπάθησα λοιπόν να φτιάξω κάτι σαν antispam question με μία ερώτηση για αρχή και όχι random πολλές ερωτήσεις, απλά για να δω πως πάει... όπως λοιπόν έχω την html, το submit button το έκανα από default disabled. Σέ ένα input έβαλα την ερώτησή μου (πχ. "Ποια είναι η πρωτεύουσα της Ελλάδας) και με oninput τρέχει ένα jquery. Στο jquery ελέγχω αν αυτό που πληκτρολογεί ο χρήστης είναι ίσο με το string της απάντησης (πχ "Αθήνα"). Αν NAI τότε κάνω το κουμπί prop('disabled', false); Αλλιώς prop('disabled', true); Αυτό μου έκοψε να κάνω για να δοκιμάσω για αρχή και όντως το κουμπί ενεργοποιείται μόνο αν βάλει κάποιος την σωστή απάντηση. αλλά τα σπαμ συνεχίζουν να ξαναέρχονται. Προφανώς το μεγαλύτερο λάθος είναι οτί στον πηγαίο κώδικα της σελίδας, φαίνεται η συνθήκη του js με την απάντηση. Έχει κολλήσει όμως το μυαλό μου και δεν μπορώ να σκεφτώ μία αντισπαμ λύση ΧΩΡΙΣ όμως να χρησιμοποιήσω 3rd party εργαλεία π.χ. Google Recaptcha. Υ.Γ. Αν και νομίζω οτι ξέρω την απάντηση λόγω οτι τρέχουν frontend από το browser, θα ρισκάρω και θα ρωτήσω. Υπάρχει τρόπος να κρύψω html και js από το source view? Και αν όχι όλα τουλάχιστον κάποια πράγματα όπως τα type="hidden" και τα <!---comments---> από html ή τον εσωτερικό κώδικα μια function σε js κλπ... Επεξ/σία 7 Μαρτίου 2019 από hdonoblepsias
kastorass Δημοσ. 7 Μαρτίου 2019 Δημοσ. 7 Μαρτίου 2019 3 ώρες πριν, hdonoblepsias είπε Προφανώς το μεγαλύτερο λάθος είναι οτί στον πηγαίο κώδικα της σελίδας, φαίνεται η συνθήκη του js με την απάντηση. Έχει κολλήσει όμως το μυαλό μου και δεν μπορώ να σκεφτώ μία αντισπαμ λύση ΧΩΡΙΣ όμως να χρησιμοποιήσω 3rd party εργαλεία π.χ. Google Recaptcha. Το μεγάλο λάθος σου είναι ότι προσπαθείς να μπλοκάρεις τα bots μέσω javascript. Κάνε τον έλεγχο μέσω της PHP και θα σταματήσει το spam σου.
παπι Δημοσ. 8 Μαρτίου 2019 Δημοσ. 8 Μαρτίου 2019 Τα μποτακια ποσταρουν, δεν υπαρχει κανα νοημα να φτιαξεις μηχανισμο να κανει disable το submit. Αντι να βασανιζεσαι, βαλε αυτο της γκουγκλε που ειναι και UX.
ajaxmonkey4hire Δημοσ. 10 Μαρτίου 2019 Δημοσ. 10 Μαρτίου 2019 μπορείς να βάλεις ένα img με την επιγραφή "I am not A Robot" on click σε αυτό κάνεις ένα ajax request στο server που επιστρέφει ένα unique hash το οποίο αποθηκεύεις και στο server. Αυτό το hash το στέλνεις μαζί με τα περιεχόμενα της φόρμας. Αν το hash από την φόρμα υπάρχει στο server δέχεσαι το post ειδάλλως το απορρίπτεις. Μετά από την ολοκλήρωση του post σβήνεις το hash στο server ώστε να μην μπορεί να χρησιμοποιηθεί ξανά.
Επισκέπτης Δημοσ. 11 Μαρτίου 2019 Δημοσ. 11 Μαρτίου 2019 Το πρόβλημα πιθανότατα είναι ότι το post της σελίδας λειτουργεί όπως λειτουργούσε και πριν. Το bot δεν θα ασχοληθεί καν με την JavaScript. Αρκεί να δει τα endpoints της σελίδας σου. Δοκίμασε να περνάς την πόλη στο query string του post και μάλλον θα λυθεί το πρόβλημα σου.
hdonoblepsias Δημοσ. 11 Μαρτίου 2019 Μέλος Δημοσ. 11 Μαρτίου 2019 Τελικα προς το παρον μαλλον λυθηκε κανοντας τον ελεγχο στην php οπως ειπε ο @kastorass. Στις 8/3/2019 στις 4:24 ΜΜ, παπι είπε Τα μποτακια ποσταρουν, δεν υπαρχει κανα νοημα να φτιαξεις μηχανισμο να κανει disable το submit. Αντι να βασανιζεσαι, βαλε αυτο της γκουγκλε που ειναι και UX. Μπορει να ειναι και λαθος αλλα θελω οσο γινεται να αποφευγω τριτες υπηρεσιες...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα