Ich erwäge, Benutzern zu erlauben, auf meiner Site zu posten, ohne sie registrieren zu lassen oder irgendwelche identifizierenden Informationen zur Verfügung zu stellen. Wenn jeder Post an eine db-Queue gesendet wird und ich diese Posts dann manuell screene, auf welche Art von Problemen könnte ich stoßen? Wie könnte ich mit diesen Problemen umgehen?Verwalten von nicht registrierten Benutzer Posts durch Screening
Antwort
Screening jeden Beitrag wäre mühsam und ermüdend. Und anfällig für lästigen Admin-Spam. Mein Vorschlag wäre, so viel Screening wie möglich zu automatisieren. Darüber hinaus wird durch die Bereitstellung von identifizierenden Informationen Spam nicht verhindert (ein Bot erzeugt ihn nur).
Viele Projekte implementieren Erkennungssystem: zuerst muss der Benutzer 1-2 Beiträge, die genehmigt sind, dann von IP und (vielleicht) ein Cookie, er ist als ein vertrauenswürdiges Plakat identifiziert, so dass seine Beiträge automatisch angezeigt werden (und später kann als Spam markiert werden).
Auch einige Heuristiken zum Inhalt des Beitrags könnten verwendet werden (wie die Anzahl der Links im Beitrag), um potentielle Spam-Posts automatisch zu verwerfen.
Tedium scheint die größte Sorge zu sein - Screening-Beiträge manuell ist wirksam gegen Spam (ich nehme an, das ist, was Sie aussortieren wollen), aber sehr langweilig.
Es könnte am besten mit einer Tasse Kaffee und schöne Musik beim Jäten zu beheben repariert werden?
Das offensichtlichste Problem ist, dass Sie von der Anzahl der Eingaben überfordert werden, wenn Ihre Website ausreichend beliebt ist.
Ich würde sicherstellen, dass einige Admin-Tools hinzugefügt werden, so dass Sie automatisch alle Posts von einer bestimmten IP-Adresse killen können, oder dass eine bestimmte Regex übereinstimmen. Das sollte dazu beitragen, offensichtliches Spam schneller zu beseitigen, aber auch dafür müssten Sie hinter dem Steuer sitzen.
- Beiträge, die legit zu suchen versuchen, sind aber nicht
- die schiere Menge
Dies sind die Probleme, die ich auf meinem Blog zu sehen.
Ich habe festgestellt, dass die Frage nach der Antwort auf eine einfache Frage den Browser als ein Bild (wie "2 + 3 - 4 =", eine Variante eines 'Captcha', aber nicht so nervig), mit einem kleinen gesendet ein bisschen Javascript tut das ganz gut.
Senden Sie Ihr Formular mit dem Bild und Antwortfeld und ein verstecktes Feld mit einer "Herausforderung" (einige zufällig generierte Zeichenfolge). Wenn der Benutzer das Formular übermittelt, hash die Herausforderung und die Antwort, und senden Sie das Ergebnis an den Server zurück. Der Server kann nach einer gültigen Antwort suchen, bevor er zur Überprüfung zur Datenbank hinzugefügt wird.
Es scheint wie viel Arbeit im Voraus, aber es wird Stunden der Überprüfung Zeit sparen. Mit jQuery:
<script type="text/javascript"> // Hash function to mask the answer function answerMask() { var a = $('#a').val(); var c = $('#c').val(); var h = hex_md5(hex_md5(a) + c); $('#a').val(h); } </script> <form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST"> <table> <tr><td>Comment</td><td><input type="text" name="comment" /></td></tr> <tr><td># put image here #</td><td><input id="p" type="text" name="a" size="30" /></td></tr> <tr><td><input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /></td><td><input type="submit" value=" Go "></td></tr> </p> </form>
bearbeiten update ...
ich diese Technik auf einer Website gesehen, ich bin nicht sicher, welche ein, so dass diese Idee ist nicht von mir, aber sie könnte es nützlich finden.
Geben Sie ein Formular mit einem Abfragefeld und einem Kommentarfeld an.Setzen Sie die Herausforderung mit "Wählen Sie das dritte Wort aus: glark snerm hork morf" vor, damit die Wörter und die, die Sie auswählen, leicht auf dem Server generiert werden und einfach validiert werden können, wenn der Inhalt des Formulars zurückkommt.
Der Punkt ist es, den Benutzer etwas tun, gelten ein paar Gehirnzellen und mehr Arbeit, als es für ein Skript Kiddie wert ist.
jQuery ist nicht die Lösung für alles. Checks wie diese sollten serverseitig für echte Sicherheit gemacht werden. JavaScript kann in jedem Browser deaktiviert sein, speziell in Spam-Bots, daher würde dies nicht viel helfen. – Seb
Ich bin nicht überrascht, dass dies abgelehnt wurde, und ich verstehe, dass JQuery nicht immer die Antwort ist, aber es funktioniert einfach für mich, weil meine vorhandenen Web-Stücke bereits in den Browser für andere Zwecke geladen. Ich habe eine andere Antwort, die vielleicht besser ist ... – Joel
- 1. Benutzer verwalten durch einen Admin in Ruby auf Schienen
- 2. Abrufen der Gesamtzahl der registrierten Benutzer
- 3. Automatisieren Dekstop Screening mit Python
- 4. Optimale Datenbank-Design in Bezug auf die Funktionalität der Freigabe von Posts durch andere Benutzer
- 5. Verwalten von IIS durch Delphi-Code
- 6. Konnte "Posts" -Referenz für "Benutzer" in Firebase nicht beibehalten
- 7. Überprüfen Sie, ob nicht registrierten Kommentator darf
- 8. Iterieren nicht registrierten Add-Ins (XLA)
- 9. Unity: Ersetzt registrierten Typ durch einen anderen Typ zur Laufzeit
- 10. Screening (multi) Collinearity in einem Regressionsmodell
- 11. Graph-API: Alle von einem Benutzer freigegebenen Posts abrufen
- 12. Informationen von registrierten Benutzern erhalten
- 13. get_posts nicht alle Posts
- 14. Subdomain für jeden registrierten Benutzer erstellen (Java EE)
- 15. Ändern von registrierten Symbole (R)
- 16. SimpleModal Popup für Posts, die nicht mit Posts arbeiten, die von Ajax
- 17. Hol dir die letzten 10 registrierten Benutzer - Spring security Grails
- 18. Verwalten von Benutzer-Datei-Uploads - Geister vermeiden ... - CMS/PHP/MySQL
- 19. Verwalten von Software als Benutzer (in einem Cluster)
- 20. Verwalten von APN-Benachrichtigungen für mehrere Benutzer auf demselben Telefon
- 21. Verwalten von großen Transaktionsdatensätzen?
- 22. Kann Benutzer nicht finden, die durch samen.rb
- 23. asp.net - sqlexception wurde nicht behandelt durch Code Benutzer in
- 24. php nicht ordnungsgemäß durch sql-Benutzer Schleife
- 25. Verwalten von Git oder Bitbucket Repositories durch erhabenen Text
- 26. Hauptschleife so ändern, dass Posts nach Datum angezeigt werden. Benutzer registriert
- 27. Wie können einige der APIs von registrierten Clients verwendet werden?
- 28. Verwenden von Restclient mit Multipart-Posts
- 29. Tabellenansicht durch Benutzer-ID
- 30. mit registrierten com-Objekt dll von .NET
lol +1 für Originalität – Seb