{"id":5,"date":"2017-05-08T22:43:57","date_gmt":"2017-05-08T19:43:57","guid":{"rendered":"http:\/\/ottd.one\/?p=5"},"modified":"2017-05-08T22:43:57","modified_gmt":"2017-05-08T19:43:57","slug":"php-nastrojka-recaptcha-2-0-demo-manual","status":"publish","type":"post","link":"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/","title":{"rendered":"PHP. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 reCAPTCHA 2.0 &#8211; \u0414\u0435\u043c\u043e \/ \u041c\u0430\u043d\u0443\u0430\u043b"},"content":{"rendered":"<p><strong>reCAPTCHA<\/strong> \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432 \u043e\u0442 \u0431\u043e\u0442\u043e\u0432. ReCAPTCHA 2.0 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 reCAPTCHA. \u0412\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443.<\/p>\n<p><span itemprop=\"image\" itemscope itemtype=\"https:\/\/schema.org\/ImageObject\"><img itemprop=\"url image\" loading=\"lazy\" class=\"size-medium wp-image-16 aligncenter\" src=\"http:\/\/ottd.one\/wp-content\/uploads\/2017\/05\/Google-reCAPTCHA-560x215-300x115.jpg\" alt=\"\" width=\"300\" height=\"115\" \/><meta itemprop=\"width\" content=\"300\"><meta itemprop=\"height\" content=\"115\"><\/span><\/p>\n<p>\u041c\u0435\u0442\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>g-recaptcha-response<\/code> \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 POST \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0432\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b ReCaptcha \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043a\u043b\u044e\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c <a href=\"https:\/\/www.google.com\/recaptcha\/intro\/invisible.html\">\u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<\/a>. \u041e\u0442\u0432\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <a href=\"http:\/\/php.net\/file%20get%20contents\">file_get_contents<\/a> \u0438 <a href=\"http:\/\/php.net\/json_decode\">json_decode<\/a>.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d HTML-\u043a\u043e\u0434 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u044b. DIV \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c <code>g-recaptcha<\/code> &#8211; \u044d\u0442\u043e \u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043c\u044b \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u043d\u0430\u0448 captcha-\u0443. \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>data-sitekey<\/strong> \u043a\u043b\u044e\u0447\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u043e\u0442 Google, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0435\u0441\u044c.<\/p>\n[bs_notification type=&#8221;danger&#8221; dismissible=&#8221;false&#8221;]\u00a0\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435 \u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447![\/bs_notification]\n<h3>HTML \u0444\u043e\u0440\u043c\u0430<\/h3>\n<pre class=\"theme:tomorrow-night toolbar:2 lang:php decode:true \">&lt;form action=\"mail.php\" method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\t&lt;input name=\"sender_name\" placeholder=\"Your Name...\"\/&gt;\n\t&lt;input name=\"sender_email\" placeholder=\"Your email...\"\/&gt;\n\t&lt;textarea placeholder=\"Your Message...\" name=\"sender_message\"&gt;\n        &lt;div class=\"captcha_wrapper\"&gt;\n\t\t&lt;div class=\"g-recaptcha\" data-sitekey=\"YOUR_KEY\"&gt;&lt;\/div&gt;\n\t&lt;\/div&gt;\n\t&lt;button type=\"submit\" id=\"send_message\"&gt;Send Message!&lt;\/button&gt;\n&lt;\/form&gt;\n&lt;script src='https:\/\/www.google.com\/recaptcha\/api.js'&gt;&lt;\/script&gt;<\/pre>\n<h3>PHP Server-Side Script<\/h3>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 PHP \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c <strong>\u0432\u0430\u0448 \u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447<\/strong> \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <strong>secret<\/strong>. \u0422.\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <strong>YOUR_SECRET<\/strong> \u0432\u044b\u0448\u0438\u043c \u043a\u043b\u044e\u0447\u0435\u043c.<\/p>\n<pre class=\"theme:tomorrow-night toolbar:2 lang:php decode:true\">&lt;?php\n\t$sender_name = stripslashes($_POST[\"sender_name\"]);\n\t$sender_email = stripslashes($_POST[\"sender_email\"]);\n\t$sender_message = stripslashes($_POST[\"sender_message\"]);\n\t$response = $_POST[\"g-recaptcha-response\"];\n\t$url = 'https:\/\/www.google.com\/recaptcha\/api\/siteverify';\n\t$data = array(\n\t\t'secret' =&gt; 'YOUR_SECRET',\n\t\t'response' =&gt; $_POST[\"g-recaptcha-response\"]\n\t);\n\t$options = array(\n\t\t'http' =&gt; array (\n\t\t\t'method' =&gt; 'POST',\n\t\t\t'content' =&gt; http_build_query($data)\n\t\t)\n\t);\n\t$context  = stream_context_create($options);\n\t$verify = file_get_contents($url, false, $context);\n\t$captcha_success=json_decode($verify);\n\tif ($captcha_success-&gt;success==false) {\n\t\techo \"&lt;p&gt;\u0422\u044b \u0431\u043e\u0442! \u0414\u0430\u0432\u0430\u0439 \u0434\u043e\u0441\u0432\u0438\u0434\u0430\u043d\u0438\u0435!&lt;\/p&gt;\";\n\t} else if ($captcha_success-&gt;success==true) {\n\t\techo \"&lt;p&gt;\u0422\u044b \u0447\u0435\u043b\u043e\u0432\u0435\u043a! \u0414\u0430\u0432\u0430\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438!&lt;\/p&gt;\";\n\t}\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>reCAPTCHA \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432 \u043e\u0442 \u0431\u043e\u0442\u043e\u0432. ReCAPTCHA 2.0 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 reCAPTCHA. \u0412\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443. \u041c\u0435\u0442\u043e\u0434&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[17,20],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 reCAPTCHA 2.0 - \u0414\u0435\u043c\u043e \/ \u041c\u0430\u043d\u0443\u0430\u043b - IPCalc Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 reCAPTCHA 2.0 - \u0414\u0435\u043c\u043e \/ \u041c\u0430\u043d\u0443\u0430\u043b - IPCalc Blog\" \/>\n<meta property=\"og:description\" content=\"reCAPTCHA \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432 \u043e\u0442 \u0431\u043e\u0442\u043e\u0432. ReCAPTCHA 2.0 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 reCAPTCHA. \u0412\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443. \u041c\u0435\u0442\u043e\u0434...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/\" \/>\n<meta property=\"og:site_name\" content=\"IPCalc Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-08T19:43:57+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/ottd.one\/wp-content\/uploads\/2017\/05\/Google-reCAPTCHA-560x215-300x115.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\">\n\t<meta name=\"twitter:data1\" content=\"admin\">\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\">\n\t<meta name=\"twitter:data2\" content=\"1 \u043c\u0438\u043d\u0443\u0442\u0430\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ipcalc.co\/blog\/#website\",\"url\":\"https:\/\/ipcalc.co\/blog\/\",\"name\":\"IPCalc Blog\",\"description\":\"\\u041f\\u043e\\u043b\\u0437\\u0435\\u043d\\u044b\\u0435 \\u0441\\u043a\\u0440\\u0438\\u043f\\u0442\\u044b, \\u043a\\u043e\\u043d\\u0444\\u0438\\u0433\\u0438 \\u0438 \\u043c\\u043d\\u043e\\u0433\\u043e\\u0435 \\u0434\\u0440\\u0443\\u0433\\u043e\\u0435\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/ipcalc.co\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/#primaryimage\",\"inLanguage\":\"ru-RU\",\"url\":\"http:\/\/ottd.one\/wp-content\/uploads\/2017\/05\/Google-reCAPTCHA-560x215-300x115.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/#webpage\",\"url\":\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/\",\"name\":\"PHP. \\u041d\\u0430\\u0441\\u0442\\u0440\\u043e\\u0439\\u043a\\u0430 reCAPTCHA 2.0 - \\u0414\\u0435\\u043c\\u043e \/ \\u041c\\u0430\\u043d\\u0443\\u0430\\u043b - IPCalc Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ipcalc.co\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/#primaryimage\"},\"datePublished\":\"2017-05-08T19:43:57+00:00\",\"dateModified\":\"2017-05-08T19:43:57+00:00\",\"author\":{\"@id\":\"https:\/\/ipcalc.co\/blog\/#\/schema\/person\/995e074baefb3871a51b718fd5de412a\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ipcalc.co\/blog\/php-nastrojka-recaptcha-2-0-demo-manual\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ipcalc.co\/blog\/#\/schema\/person\/995e074baefb3871a51b718fd5de412a\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/ipcalc.co\/blog\/#personlogo\",\"inLanguage\":\"ru-RU\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/937f7cf83eb4581f64861b93fe484e16?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/posts\/5"}],"collection":[{"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":0,"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"wp:attachment":[{"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ipcalc.co\/blog\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}