{"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":"ruby-on-rails%e3%81%a7google-recaptcha%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6web%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e4%bf%9d%e8%ad%b7%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/ruby-on-rails%e3%81%a7google-recaptcha%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6web%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%82%92%e4%bf%9d%e8%ad%b7%e3%81%99%e3%82%8b\/","title":{"rendered":"Ruby on Rails \u4e0a\u306e Google reCaptcha \u3067 Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b"},"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\t\u300c\u30b9\u30d1\u30e0\u300d\u306f\u3001Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u6240\u6709\u8005\u306b\u3068\u3063\u3066\u6700\u3082\u6050\u308d\u3057\u3044\u8a00\u8449\u306e 1 \u3064\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u7279\u306b\u30e6\u30fc\u30b6\u30fc\u304c\u4f5c\u6210\u3057\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u591a\u6570\u3042\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u3001\u3053\u308c\u306b\u5bfe\u51e6\u3059\u308b\u306e\u306f\u60aa\u5922\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30b9\u30d1\u30de\u30fc\u3092\u5bc4\u305b\u4ed8\u3051\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u3001reCaptcha \u3068\u547c\u3070\u308c\u308b Google \u306e\u7121\u6599\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 Web \u30b5\u30a4\u30c8\u3092\u30b9\u30d1\u30e0\u3084\u60aa\u7528\u304b\u3089\u4fdd\u8b77\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u89e3\u6c7a\u3059\u308b\u3053\u3068\u306a\u304f\u8a8d\u8a3c\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b Google reCaptcha \u306f\u3001\u30d5\u30a9\u30fc\u30e0\u9001\u4fe1\u306e\u81ea\u52d5\u5316\u3092\u9632\u6b62\u3059\u308b\u3053\u3068\u3067\u3001\u30b5\u30fc\u30d3\u30b9\u62d2\u5426\u653b\u6483\u304b\u3089\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3057\u307e\u3059\u3002\u65e2\u5b58\u306e\u753b\u50cf\u30ad\u30e3\u30d7\u30c1\u30e3\u306b\u5bfe\u3059\u308b\u512a\u308c\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3042\u308b Google reCaptcha \u306f\u4f7f\u3044\u3084\u3059\u304f\u3001\u9ad8\u5ea6\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u6a5f\u80fd\u304c\u6e80\u8f09\u3067\u3059\u3002 reCaptcha \u306f\u3001\u9ad8\u5ea6\u306a\u30ea\u30b9\u30af\u5206\u6790\u30a8\u30f3\u30b8\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u81ea\u52d5\u30dc\u30c3\u30c8\u304c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u5bfe\u3057\u3066\u30b9\u30d1\u30e0\u884c\u70ba\u3092\u884c\u3046\u306e\u3092\u9632\u304e\u307e\u3059\u3002\u3055\u3089\u306b\u3001\u4ee5\u524d\u306e\u753b\u50cf\u30ad\u30e3\u30d7\u30c1\u30e3\u3088\u308a\u3082\u306f\u308b\u304b\u306b\u30e6\u30fc\u30b6\u30fc\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u3067\u3059\u3002 Google reCaptcha \u3092\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u8ffd\u52a0\u3059\u308b\u524d\u306b\u3001\u6b21\u306e\u624b\u9806\u306b\u5f93\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: 1) \u8cc7\u683c\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b 2) recaptcha \u30bf\u30b0\u3092\u8ffd\u52a0\u3059\u308b 3) \u691c\u8a3c\u3092\u51e6\u7406\u3059\u308b\u306b\u306f\u3001recaptcha \u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3059\u308b 4) \u767b\u9332\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3067 verify_recaptcha \u30e1\u30bd\u30c3\u30c9\u3092\u8ffd\u52a0\u3059\u308b\n\n<strong>\u8a2d\u5b9a<\/strong>\n\n<strong>\u30b9\u30c6\u30c3\u30d71\uff1a-<\/strong>\n\ngem \u30d5\u30a1\u30a4\u30eb\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059: gem &quot;recaptcha&quot;, :require =&gt; &quot;recaptcha\/rails&quot;\n\n<strong>\u30b9\u30c6\u30c3\u30d72\uff1a-<\/strong>\n\nhttp:\/\/developers.google.com \u306b\u30ed\u30b0\u30a4\u30f3\u3057\u3001Gmail \u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3066\u300crecaptcha\u300d\u3092\u691c\u7d22\u3057\u307e\u3059\u3002\u30af\u30ea\u30c3\u30af &quot;<strong>API \u30ad\u30fc\u306e\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7<\/strong>&quot; \u30ea\u30f3\u30af\u3002\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u3068\u30b5\u30a4\u30c8\u30ad\u30fc\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\u540d\u524d\u81ea\u4f53\u304c\u793a\u3059\u3088\u3046\u306b\u3001\u30b5\u30a4\u30c8 \u30ad\u30fc\u306f Google \u3078\u306e\u8a8d\u8a3c\u306b\u4f7f\u7528\u3055\u308c\u308b\u516c\u958b\u30ad\u30fc\u3067\u3042\u308b\u306e\u306b\u5bfe\u3057\u3001\u79d8\u5bc6\u30ad\u30fc\u306f\u3088\u308a\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30a4\u30c8\u540d\u3092 Google \u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u767b\u9332\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u5f8c\u3067\u4f7f\u7528\u3059\u308b\u516c\u958b\u30ad\u30fc\u3068\u79d8\u5bc6\u30ad\u30fc\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u767b\u9332\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001\u516c\u958b\u30ad\u30fc\u3068\u79d8\u5bc6\u30ad\u30fc\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u304b\u3089\u3001\u516c\u958b\u30ad\u30fc\u304c\u518d\u30ad\u30e3\u30d7\u30c1\u30e3 \u30b5\u30fc\u30d3\u30b9\u306b\u9001\u4fe1\u3055\u308c\u3001\u65b0\u3057\u3044\u30ad\u30e3\u30d7\u30c1\u30e3\u304c\u8981\u6c42\u3055\u308c\u307e\u3059\u3002\u79d8\u5bc6\u30ad\u30fc\u306f\u30b5\u30fc\u30d0\u30fc\u5074\u3067\u9069\u7528\u3055\u308c\u3001\u6b63\u3057\u3044\u5024\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u304c\u691c\u8a3c\u3055\u308c\u307e\u3059\u3002\u6b21\u306b\u3001reCAPTCHA API \u30ad\u30fc\u3092\u767b\u9332\u3057\u3001\u305d\u308c\u3092\u74b0\u5883\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3057\u307e\u3059: # \u3053\u308c\u3092development.rb \u3068production.rb \u306b\u5165\u308c\u307e\u3059\u3002\n\n<strong>ENV_RECAPTCHA_PUBLIC_KEY<\/strong>= &#039;\u3042\u306a\u305f\u306e\u516c\u958b\u9375&#039;\n\n<strong>ENV_RECAPTCHA_PRIVATE_KEY<\/strong>= &#039;\u3042\u306a\u305f\u306e\u79d8\u5bc6\u9375&#039;\n\n<strong>\u30b9\u30c6\u30c3\u30d7 3:-<\/strong>\n\nrecaptcha \u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u3001config\/initializers \u306b recaptcha.rb \u3068\u3044\u3046\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002 Recaptcha.configure do |config| config.public_key = &#039;ENV_RECAPTCHA_PUBLIC_KEY&#039; config.private_key = &#039;ENV_RECAPTCHA_PRIVATE_KEY&#039; config.proxy = &#039;http:\/\/www.google.com\/recaptcha\/api\/verify&#039; \u7d42\u4e86\n\n<strong>\u30b9\u30c6\u30c3\u30d74:-<\/strong>\n\n<strong>\u30d3\u30e5\u30fc<\/strong>\n\nCaptcha Gem \u306f\u3001\u5b9f\u969b\u306e\u30ad\u30e3\u30d7\u30c1\u30e3 \u30dc\u30c3\u30af\u30b9\u306e\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002\u30d3\u30e5\u30fc\u5185\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u8868\u793a\u3057\u305f\u3044\u4f4d\u7f6e\u306b\u4ee5\u4e0b\u3092\u5165\u529b\u3059\u308b\u306e\u3068\u540c\u3058\u304f\u3089\u3044\u7c21\u5358\u3067\u3059: &lt;%= raw recaptcha_tags %&gt; SSL \u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u4ee3\u308f\u308a\u306b\u3053\u308c\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044: &lt;%= recaptcha_tags :ssl =&gt; true %&gt;, SSL \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3088\u308a\u3001https \u30ea\u30af\u30a8\u30b9\u30c8\u304c recaptcha \u30b5\u30fc\u30d3\u30b9\u306b\u78ba\u5b9f\u306b\u9001\u4fe1\u3055\u308c\u307e\u3059\u3002\n\n<strong>\u30b9\u30c6\u30c3\u30d75:-<\/strong>\n\n<strong>\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9<\/strong>\n<blockquote>Captcha Gem \u306f\u3001\u9001\u4fe1\u304c\u6b63\u3057\u3044\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u306b reCaptcha API \u30b5\u30fc\u30d0\u30fc\u306b\u9001\u4fe1\u3059\u308b\u5225\u306e\u30d8\u30eb\u30d1\u30fc \u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u3001\u30e1\u30bd\u30c3\u30c9\u306f true \u3092\u8fd4\u3057\u307e\u3059\u3002\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306f\u3001\u518d\u30ad\u30e3\u30d7\u30c1\u30e3\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u30ab\u30b9\u30bf\u30e0 \u30a8\u30e9\u30fc \u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30e2\u30c7\u30eb \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306f\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u306e\u4f5c\u6210\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u542b\u307e\u308c\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u57fa\u672c\u30b3\u30fc\u30c9\u3067\u3059\u3002 - Device \u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc\u3067\u3001app\/controllers\/registrations_controller.rb\u3001\u6b21\u306e\u30b3\u30fc\u30c9\u3092\u633f\u5165\u3057\u307e\u3059: require &#039;recaptcha.rb&#039; before_action :verify_recaptcha, Only: [: create] def verify_recaptcha \u5fdc\u7b54 = Recaptcha.verify(params) session[:sign_up] = params[:user].excel(:password, :password_confirmation, :remoteip) if response.code == 200 if response[&#039;success&#039;] flash [:notice] = \u201c\u518d\u30ad\u30e3\u30d7\u30c1\u30e3\u306e\u691c\u8a3c\u304c\u6210\u529f\u3057\u307e\u3057\u305f\u3002\u201d else redirect_to new_user_registration_path(user: params[:user])\u3001\u30a2\u30e9\u30fc\u30c8: \u300c\u518d\u30ad\u30e3\u30d7\u30c1\u30e3\u691c\u8a3c\u30a8\u30e9\u30fc\u300d end else redirect_to new_user_registration_path(user: params[:user])\u3001\u30a2\u30e9\u30fc\u30c8: \u300cHTTP \u63a5\u7d9a\u30a8\u30e9\u30fc\u300d\u3002\u7d42\u308f\u308a\u306e\u7d42\u308f\u308a<\/blockquote>\n\u691c\u8a3c\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7 \u30d5\u30a9\u30fc\u30e0\u306b\u4e8b\u524d\u306b\u5165\u529b\u3067\u304d\u308b\u305f\u3081\u3001session[:sign_up] \u306f\u4fdd\u6301\u3055\u308c\u307e\u3059\u3002\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\">\u6700\u65b0\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u8cfc\u8aad\u3059\u308b<\/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=\"\u30ed\u30fc\u30c0\"><\/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=\"6ec25083e1\">\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=\"\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\">\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=\"\u540d\u524d\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"\u8cfc\u8aad\u3059\u308b\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"ja\"\/><\/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\">\u95a2\u9023\u8a18\u4e8b<\/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=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/%e3%82%ab%e3%83%9f%e3%83%8a%e3%83%aa%e3%82%b8%e3%82%a7%e3%83%a0\/?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=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" 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=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/%e3%82%ab%e3%83%9f%e3%83%8a%e3%83%aa%e3%82%b8%e3%82%a7%e3%83%a0\/?related_post_from=37277\">\r\n        \u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/why-to-hire-ruby-on-rails-developers\/?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=\"2022 \u5e74\u306b Ruby on Rails \u958b\u767a\u8005\u3092\u96c7\u7528\u3059\u308b\u7406\u7531\" 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=\"\u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/why-to-hire-ruby-on-rails-developers\/?related_post_from=30627\">\r\n        \u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"CSV\u51e6\u7406\u306b\u3088\u308bRails\u3067\u306e\u30c7\u30fc\u30bf\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/data-scraping-in-rails-by-processing-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=\"CSV\u51e6\u7406\u306b\u3088\u308bRails\u3067\u306e\u30c7\u30fc\u30bf\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/data-scraping-in-rails-by-processing-csv\/?related_post_from=31591\">\r\n        CSV\u51e6\u7406\u306b\u3088\u308bRails\u3067\u306e\u30c7\u30fc\u30bf\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby on Rails Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4ecb\u3057\u3066\u97f3\u58f0\u901a\u8a71\u3092\u884c\u3046\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/ruby-on-rails%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%a7%e9%9f%b3%e5%a3%b0%e9%80%9a%e8%a9%b1%e3%82%92%e3%81%99%e3%82%8b\/?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=\"Ruby on Rails Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4ecb\u3057\u3066\u97f3\u58f0\u901a\u8a71\u3092\u884c\u3046\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/ruby-on-rails%e3%82%a6%e3%82%a7%e3%83%96%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%a7%e9%9f%b3%e5%a3%b0%e9%80%9a%e8%a9%b1%e3%82%92%e3%81%99%e3%82%8b\/?related_post_from=31309\">\r\n        Ruby on Rails Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4ecb\u3057\u3066\u97f3\u58f0\u901a\u8a71\u3092\u884c\u3046  <\/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>\u300c\u30b9\u30d1\u30e0\u300d\u306f\u3001Web \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u6240\u6709\u8005\u306b\u3068\u3063\u3066\u6700\u3082\u6050\u308d\u3057\u3044\u8a00\u8449\u306e 1 \u3064\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u7279\u306b\u30e6\u30fc\u30b6\u30fc\u304c\u4f5c\u6210\u3057\u305f\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u591a\u6570\u3042\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5834\u5408\u3001\u3053\u308c\u306b\u5bfe\u51e6\u3059\u308b\u306e\u306f\u60aa\u5922\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30b9\u30d1\u30de\u30fc\u3092\u5bc4\u305b\u4ed8\u3051\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u3001reCaptcha \u3068\u547c\u3070\u308c\u308b Google \u306e\u7121\u6599\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 Web \u30b5\u30a4\u30c8\u3092\u30b9\u30d1\u30e0\u3084\u60aa\u7528\u304b\u3089\u4fdd\u8b77\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u89e3\u6c7a\u3059\u308b\u3053\u3068\u306a\u304f\u8a8d\u8a3c\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b Google reCaptcha \u306f\u3001\u30d5\u30a9\u30fc\u30e0\u9001\u4fe1\u306e\u81ea\u52d5\u5316\u3092\u9632\u6b62\u3059\u308b\u3053\u3068\u3067\u3001\u30b5\u30fc\u30d3\u30b9\u62d2\u5426\u653b\u6483\u304b\u3089\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3057\u307e\u3059\u3002\u65e2\u5b58\u306e\u753b\u50cf\u30ad\u30e3\u30d7\u30c1\u30e3\u306b\u5bfe\u3059\u308b\u512a\u308c\u305f\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3042\u308b Google reCaptcha \u306f\u4f7f\u3044\u3084\u3059\u304f\u3001\u9ad8\u5ea6\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u6a5f\u80fd\u304c\u6e80\u8f09\u3067\u3059\u3002 \u2026\u3092\u4f7f\u7528\u3057\u3066<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/hire-ruby-developers-programmers-in-bangalore\/\"> <span class=\"screen-reader-text\">Hire the Best Ruby Developers &amp; Programmers in Bangalore<\/span> \u3082\u3063\u3068\u8aad\u3080 \"<\/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.\" \/>\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\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/ruby-on-rails\u3067google-recaptcha\u3092\u4f7f\u3063\u3066web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\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.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/ruby-on-rails\u3067google-recaptcha\u3092\u4f7f\u3063\u3066web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\/\" \/>\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=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u5206\" \/>\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\":\"ja\",\"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.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb\"},\"inLanguage\":\"ja\",\"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\":\"ja\",\"@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\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@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\":\"ja\",\"@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":"Ruby on Rails\u306eGoogle reCaptcha\u3067Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77 - RailsCarma - \u30aa\u30d5\u30b7\u30e7\u30a2\u958b\u767a\u306b\u7279\u5316\u3057\u305fRuby on Rails\u958b\u767a\u4f1a\u793e","description":"\u2018\u30b9\u30d1\u30e0\u300d\u306f\u3001\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30aa\u30fc\u30ca\u30fc\u306b\u3068\u3063\u3066\u3001\u6700\u3082\u6050\u308d\u3057\u3044\u8a00\u8449\u306e\u4e00\u3064\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002.","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\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/ruby-on-rails\u3067google-recaptcha\u3092\u4f7f\u3063\u3066web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\/","og_locale":"ja_JP","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.","og_url":"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/ruby-on-rails\u3067google-recaptcha\u3092\u4f7f\u3063\u3066web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77\u3059\u308b\/","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":{"\u57f7\u7b46\u8005":"admin","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"3\u5206"},"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":"ja","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":"Ruby on Rails\u306eGoogle reCaptcha\u3067Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4fdd\u8b77 - RailsCarma - \u30aa\u30d5\u30b7\u30e7\u30a2\u958b\u767a\u306b\u7279\u5316\u3057\u305fRuby on Rails\u958b\u767a\u4f1a\u793e","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":"\u2018\u30b9\u30d1\u30e0\u300d\u306f\u3001\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30aa\u30fc\u30ca\u30fc\u306b\u3068\u3063\u3066\u3001\u6700\u3082\u6050\u308d\u3057\u3044\u8a00\u8449\u306e\u4e00\u3064\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/protect-your-web-application-with-google-recaptcha-on-ruby-on-rails\/#breadcrumb"},"inLanguage":"ja","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":"ja","@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 - \u30aa\u30d5\u30b7\u30e7\u30a2\u958b\u767a\u306b\u7279\u5316\u3057\u305f Ruby on Rails \u958b\u767a\u4f1a\u793e","description":"RailsCarma \u306f\u30d0\u30f3\u30ac\u30ed\u30fc\u30eb\u306e Ruby on Rails \u958b\u767a\u4f1a\u793e\u3067\u3059\u3002\u5f53\u793e\u306f\u7c73\u56fd\u3068\u30a4\u30f3\u30c9\u3092\u62e0\u70b9\u3068\u3059\u308b\u30aa\u30d5\u30b7\u30e7\u30a2 Ruby on Rails \u958b\u767a\u3092\u5c02\u9580\u3068\u3057\u3066\u3044\u307e\u3059\u3002\u7d4c\u9a13\u8c4a\u5bcc\u306a Ruby on Rails \u958b\u767a\u8005\u3092\u96c7\u3063\u3066\u3001\u7a76\u6975\u306e Web \u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u5b9f\u73fe\u3057\u307e\u3057\u3087\u3046\u3002","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":"ja"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"\u30ec\u30fc\u30eb\u30ab\u30fc\u30de","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"ja","@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":"\u7ba1\u7406\u8005","image":{"@type":"ImageObject","inLanguage":"ja","@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\/ja\/wp-json\/wp\/v2\/posts\/7617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/comments?post=7617"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/posts\/7617\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/media\/31961"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/media?parent=7617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/categories?post=7617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/tags?post=7617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}