{"id":7617,"date":"2016-01-22T18:10:35","date_gmt":"2016-01-22T18:10:35","guid":{"rendered":"https:\/\/dev.railscarma.com\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/"},"modified":"2021-06-06T12:57:36","modified_gmt":"2021-06-06T12:57:36","slug":"schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails\/","title":{"rendered":"Sch\u00fctzen Sie Ihre Webanwendung mit Google reCaptcha auf Ruby on Rails"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"7617\" class=\"elementor elementor-7617\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-30d8ee9c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"30d8ee9c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7c112b9\" data-id=\"7c112b9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-722ef3d8 elementor-widget elementor-widget-text-editor\" data-id=\"722ef3d8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSpam\" k\u00f6nnte eines der schrecklichsten W\u00f6rter f\u00fcr den Besitzer einer Webanwendung sein. Vor allem f\u00fcr eine Anwendung mit vielen nutzergenerierten Inhalten kann es ein Alptraum sein, damit umzugehen. Um die Spammer in Schach zu halten, kann ein kostenloser Dienst von Google namens reCaptcha verwendet werden. Ein Dienst, der die Website vor Spam und Missbrauch sch\u00fctzt und den Nutzern die M\u00f6glichkeit gibt, sich zu best\u00e4tigen, ohne ein Captcha l\u00f6sen zu m\u00fcssen. Google reCaptcha sch\u00fctzt die Anwendung vor einem Denial-of-Service-Angriff, indem es die Automatisierung von Formular\u00fcbermittlungen verhindert.\n\nGoogle reCaptcha ist eine bessere L\u00f6sung als die bestehenden Bild-Captchas, ist einfach zu bedienen und verf\u00fcgt \u00fcber erweiterte Sicherheitsfunktionen. Mit einer fortschrittlichen Risikoanalyse-Engine h\u00e4lt reCaptcha automatisierte Bots davon ab, Spamming-Aktivit\u00e4ten f\u00fcr Ihre Anwendung durchzuf\u00fchren. Au\u00dferdem ist es viel benutzerfreundlicher als die fr\u00fcheren Bild-Captchas.\n\nBevor Sie Google reCaptcha zu Ihrer Anwendung hinzuf\u00fcgen k\u00f6nnen, m\u00fcssen Sie die folgenden Schritte ausf\u00fchren:\n\n1) Besorgen Sie sich die Anmeldeinformationen\n2) F\u00fcgen Sie reCaptcha-Tags hinzu\n3) Erstellen Sie eine Recaptcha-Klasse, um die \u00dcberpr\u00fcfung zu handhaben.\n4) F\u00fcgen Sie im Registrierungs-Controller die Methode verify_recaptcha hinzu.\n\n<strong>Aufstellen<\/strong>\n\n<strong>Schritt 1:-<\/strong>\n\nF\u00fcgen Sie Folgendes zu Ihrer gem-Datei hinzu:\n\ngem \"recaptcha\", :require =&gt; \"recaptcha\/rails\"\n\n<strong>Schritt 2:-<\/strong>\n\nMelden Sie sich bei http:\/\/developers.google.com an, melden Sie sich bei Ihrem Google Mail-Konto an und suchen Sie nach \"recaptcha\". Klicken Sie auf \"<strong>Anmeldung f\u00fcr einen API-Schl\u00fcssel<\/strong>Link\". \u00dcberpr\u00fcfen Sie den geheimen und den Standortschl\u00fcssel. Wie der Name schon sagt, sollte der geheime Schl\u00fcssel an einem sicheren Ort aufbewahrt werden, w\u00e4hrend der Standortschl\u00fcssel der \u00f6ffentliche Schl\u00fcssel ist, der f\u00fcr die Authentifizierung bei Google verwendet wird. Registrieren Sie Ihren Site-Namen in Ihrem Google-Konto, um den \u00f6ffentlichen und den privaten Schl\u00fcssel zu erhalten, die sp\u00e4ter in der Anwendung verwendet werden.\n\nNach der Registrierung erhalten Sie den \u00f6ffentlichen Schl\u00fcssel und den privaten Schl\u00fcssel. Auf der Client-Seite wird der \u00f6ffentliche Schl\u00fcssel an den Recaptcha-Dienst gesendet, um ein neues Captcha anzufordern. Der private Schl\u00fcssel wird auf der Serverseite verwendet, um zu \u00fcberpr\u00fcfen, ob der richtige Wert eingegeben wurde.\n\nRegistrieren Sie sich dann f\u00fcr einen reCAPTCHA-API-Schl\u00fcssel und f\u00fcgen Sie diesen zu den Konfigurationsdateien Ihrer Umgebung hinzu:\n\n#ragen Sie dies in development.rb und in production.rb ein\n\n<strong>ENV_RECAPTCHA_PUBLIC_KEY<\/strong>= 'Ihr-\u00f6ffentlicher-Schl\u00fcssel'\n\n<strong>ENV_RECAPTCHA_PRIVATE_KEY<\/strong>= 'Ihr privater Schl\u00fcssel'\n\n<strong>Schritt 3:-<\/strong>\n\nErstellen Sie eine Datei namens recaptcha.rb in config\/initializers, um recaptcha-Parameter zu konfigurieren.\n\nRecaptcha.configure do |config|\nconfig.public_key = ' ENV_RECAPTCHA_PUBLIC_KEY'\nconfig.private_key = 'ENV_RECAPTCHA_PRIVATE_KEY'\nconfig.proxy = 'http:\/\/www.google.com\/recaptcha\/api\/verify'\nend\n\n<strong>Schritt 4:-<\/strong>\n\n<strong>Siehe<\/strong>\n\nDer Captcha-Gem hilft dabei, das eigentliche Captcha-Feld darzustellen. Es ist so einfach, wie das Folgende in Ihre Ansicht an der Stelle zu setzen, wo Sie das Captcha erscheinen lassen m\u00f6chten:\n\n\n\nWenn Sie SSL verwenden, benutzen Sie stattdessen dies:\n\n true %&gt;, Die SSL-Option stellt sicher, dass wir eine https-Anfrage an den recaptcha-Dienst senden.\n\n<strong>Schritt 5:-<\/strong>\n\n<strong>Controller<\/strong>\n<blockquote>Das Captcha-Gem bietet eine weitere Hilfsmethode, die an den reCaptcha-API-Server sendet, um zu \u00fcberpr\u00fcfen, ob die Eingabe korrekt ist. Wenn dies der Fall ist, gibt die Methode \"true\" zur\u00fcck. Wenn nicht, wird eine benutzerdefinierte Fehlermeldung, dass das reCaptcha falsch ist, zur Modellinstanz hinzugef\u00fcgt. Hier ist der grundlegende Code, wie Sie ihn in der create-Aktion Ihres Controllers haben k\u00f6nnten:-\nIn devise controllers, app\/controllers\/registrations_controller.rb, f\u00fcgen Sie den folgenden Code ein:\nrequire 'recaptcha.rb'\nbefore_action :verify_recaptcha, only: [:create]\ndef verify_recaptcha\nresponse = Recaptcha.verify(params)\nsession[:sign_up] = params[:user].except(:password, :password_confirmation, :remoteip)\nif response.code == 200\nif response['success']\nflash[:notice] = \"Recaptcha-\u00dcberpr\u00fcfung erfolgreich.\"\nsonst\nredirect_to new_user_registration_path(user: params[:user]),\nalert: \"Fehler bei der erneuten \u00dcberpr\u00fcfung des Captcha.\"\nend\nsonst\nredirect_to new_user_registration_path(user: params[:user]),\nalert: \"HTTP-Verbindungsfehler.\"\nend\nend<\/blockquote>\nDie Session[:sign_up] wird persistiert, da das Anmeldeformular vorausgef\u00fcllt werden kann, wenn die Verifizierung fehlschl\u00e4gt.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4c97ecc6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4c97ecc6\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b0bf4d9\" data-id=\"1b0bf4d9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-699577c elementor-widget elementor-widget-heading\" data-id=\"699577c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnieren Sie die neuesten Updates<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11c21e90 elementor-widget elementor-widget-shortcode\" data-id=\"11c21e90\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"Lader\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d484aeae60\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"E-Mail-Adresse\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Name\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Abonnieren\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"de\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">zusammenh\u00e4ngende Posts<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Kaminari-Juwel\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n        Kaminari-Juwel  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Warum sollte man im Jahr 2022 Ruby-on-Rails-Entwickler einstellen?\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n        Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Daten-Scraping in Rails durch Verarbeitung von CSV\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/daten-scraping-in-rails-durch-verarbeitung-von-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Daten-Scraping in Rails durch Verarbeitung von CSV\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/daten-scraping-in-rails-durch-verarbeitung-von-csv\/?related_post_from=31591\">\r\n        Daten-Scraping in Rails durch Verarbeitung von CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"F\u00fchren Sie Sprachanrufe \u00fcber Ruby on Rails-Webanwendungen durch\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/tatigen-sie-sprachanrufe-uber-ruby-on-rails-webanwendungen\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"F\u00fchren Sie Sprachanrufe \u00fcber Ruby on Rails-Webanwendungen durch\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/tatigen-sie-sprachanrufe-uber-ruby-on-rails-webanwendungen\/?related_post_from=31309\">\r\n        F\u00fchren Sie Sprachanrufe \u00fcber Ruby on Rails-Webanwendungen durch  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>\u2018Spam\u2019 could be one of the most dreadful word for a web application owner. Especially for an application with a lot of user generated content, it could be a nightmare to cope with. To keep the spammers at bay, a free service by Google called as reCaptcha could be used. A service to protect the &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/de\/blog\/was-ist-offliberty-ruby-gem-und-wie-funktioniert-es\/\"> <span class=\"screen-reader-text\">Was ist Offliberty Ruby Gem und wie funktioniert es?<\/span> Weiterlesen \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31961,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[658,659,382],"class_list":["post-7617","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-google-recaptcha","tag-google-recaptcha-on-ruby-on-rails","tag-ruby-on-rails"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Protect Your Web Application with Google reCaptcha on Ruby on Rails - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"\u2018Spam\u2019 could be one of the most dreadful word for a web application owner. Especially for an application with a lot of user generated content, it could be\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Protect Your Web Application with Google reCaptcha on Ruby on Rails - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"\u2018Spam\u2019 could be one of the most dreadful word for a web application owner. Especially for an application with a lot of user generated content, it could be\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-22T18:10:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T12:57:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Protect Your Web Application with Google reCaptcha on Ruby on Rails\",\"datePublished\":\"2016-01-22T18:10:35+00:00\",\"dateModified\":\"2021-06-06T12:57:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/\"},\"wordCount\":648,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg\",\"keywords\":[\"Google reCaptcha\",\"Google reCaptcha on Ruby on Rails\",\"Ruby on rails\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/\",\"name\":\"Protect Your Web Application with Google reCaptcha on Ruby on Rails - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg\",\"datePublished\":\"2016-01-22T18:10:35+00:00\",\"dateModified\":\"2021-06-06T12:57:36+00:00\",\"description\":\"\u2018Spam\u2019 could be one of the most dreadful word for a web application owner. Especially for an application with a lot of user generated content, it could be\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Protect Your Web Application with Google reCaptcha on Ruby on Rails\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sch\u00fctzen Sie Ihre Webanwendung mit Google reCaptcha auf Ruby on Rails - RailsCarma - Ruby on Rails Entwicklungsunternehmen, spezialisiert auf Offshore Entwicklung","description":"Spam\" k\u00f6nnte eines der schrecklichsten W\u00f6rter f\u00fcr den Besitzer einer Webanwendung sein. Besonders f\u00fcr eine Anwendung mit vielen nutzergenerierten Inhalten k\u00f6nnte es","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails\/","og_locale":"de_DE","og_type":"article","og_title":"Protect Your Web Application with Google reCaptcha on Ruby on Rails - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"\u2018Spam\u2019 could be one of the most dreadful word for a web application owner. Especially for an application with a lot of user generated content, it could be","og_url":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/schutzen-sie-ihre-webanwendung-mit-google-recaptcha-auf-ruby-on-rails\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-01-22T18:10:35+00:00","article_modified_time":"2021-06-06T12:57:36+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Verfasst von":"admin","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Protect Your Web Application with Google reCaptcha on Ruby on Rails","datePublished":"2016-01-22T18:10:35+00:00","dateModified":"2021-06-06T12:57:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/"},"wordCount":648,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg","keywords":["Google reCaptcha","Google reCaptcha on Ruby on Rails","Ruby on rails"],"articleSection":["Technical Articles"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/","name":"Sch\u00fctzen Sie Ihre Webanwendung mit Google reCaptcha auf Ruby on Rails - RailsCarma - Ruby on Rails Entwicklungsunternehmen, spezialisiert auf Offshore Entwicklung","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg","datePublished":"2016-01-22T18:10:35+00:00","dateModified":"2021-06-06T12:57:36+00:00","description":"Spam\" k\u00f6nnte eines der schrecklichsten W\u00f6rter f\u00fcr den Besitzer einer Webanwendung sein. Besonders f\u00fcr eine Anwendung mit vielen nutzergenerierten Inhalten k\u00f6nnte es","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/01\/recaptcha.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Protect Your Web Application with Google reCaptcha on Ruby on Rails"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma \u2013 Ruby on Rails-Entwicklungsunternehmen, spezialisiert auf Offshore-Entwicklung","description":"RailsCarma ist ein Ruby on Rails-Entwicklungsunternehmen in Bangalore. Wir sind auf die Offshore-Ruby-on-Rails-Entwicklung mit Sitz in den USA und Indien spezialisiert. Stellen Sie erfahrene Ruby on Rails-Entwickler f\u00fcr das ultimative Web-Erlebnis ein.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"SchienenCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"Administrator","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/7617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/comments?post=7617"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/7617\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media\/31961"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media?parent=7617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/categories?post=7617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/tags?post=7617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}