Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπέρα. Έχω φτιάξει μία φόρμα επικοινωνίας σε 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 κλπ...

Επεξ/σία από hdonoblepsias
Δημοσ.
3 ώρες πριν, hdonoblepsias είπε

Προφανώς το μεγαλύτερο λάθος είναι οτί στον πηγαίο κώδικα της σελίδας, φαίνεται η συνθήκη του js με την απάντηση. Έχει κολλήσει όμως το μυαλό μου και δεν μπορώ να σκεφτώ μία αντισπαμ λύση ΧΩΡΙΣ όμως να χρησιμοποιήσω 3rd party εργαλεία π.χ. Google Recaptcha.

Το μεγάλο λάθος σου είναι ότι προσπαθείς να μπλοκάρεις τα bots μέσω javascript.

Κάνε τον έλεγχο μέσω της PHP και θα σταματήσει το spam σου.

Δημοσ.

Τα μποτακια ποσταρουν, δεν υπαρχει κανα νοημα να φτιαξεις μηχανισμο να κανει disable το submit. Αντι να βασανιζεσαι, βαλε αυτο της γκουγκλε που ειναι και UX.

Δημοσ.

μπορείς να βάλεις ένα img με την επιγραφή "I am not A Robot" on click σε αυτό κάνεις ένα ajax request στο server που επιστρέφει ένα unique hash το οποίο αποθηκεύεις και στο server. Αυτό το hash το στέλνεις μαζί με τα περιεχόμενα της φόρμας. Αν το hash από την φόρμα υπάρχει στο server δέχεσαι το post ειδάλλως το απορρίπτεις. Μετά από την ολοκλήρωση του post σβήνεις το hash στο server ώστε να μην μπορεί να χρησιμοποιηθεί ξανά. 

Επισκέπτης
Δημοσ.

Το πρόβλημα πιθανότατα είναι ότι το post της σελίδας λειτουργεί όπως λειτουργούσε και πριν. Το bot δεν θα ασχοληθεί καν με την JavaScript. Αρκεί να δει τα endpoints της σελίδας σου. Δοκίμασε να περνάς την πόλη στο query string του post και μάλλον θα λυθεί το πρόβλημα σου.

 

Δημοσ.

Τελικα προς το παρον μαλλον λυθηκε κανοντας τον ελεγχο στην php οπως ειπε ο @kastorass.

Στις 8/3/2019 στις 4:24 ΜΜ, παπι είπε

Τα μποτακια ποσταρουν, δεν υπαρχει κανα νοημα να φτιαξεις μηχανισμο να κανει disable το submit. Αντι να βασανιζεσαι, βαλε αυτο της γκουγκλε που ειναι και UX.

Μπορει να ειναι και λαθος αλλα θελω οσο γινεται να αποφευγω τριτες υπηρεσιες...

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...