Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 139

Google reCAPTCHA for Adobe Muse site

23.03.2016, 22:25. Показов 3002. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день/вечер. Нужна помощь в не простом для меня деле. Пишется сайт на Adobe Muse https://www.sergiykravchuk.com/contact.html, на нем есть форма обратной связи для контактов. Сделал два первых пункта согласно инструкции, Google для подключения каптчи (получил ключи для сайта, а также сделал интеграцию на стороне клиента)
***
Ключ
6Lc_jBsTAAAAACQkfVq11G-FlS70xGcc8yghiWAK
****
Секретный ключ
6Lc_jBsTAAAAAG_ibDV_3OYNQ3kmkH3W5aaqw9oq

Интеграция проведена (каптча вставлена и как бы работает, но сообщение отправляются без нее так как не могу опилить третью ступень интеграция на стороне сервера)
Вставьте этот фрагмент перед закрывающим тегом </head> в HTML-коде:
<script src='https://www.google.com/recaptcha/api.js'></script>
Вставьте этот фрагмент в конце объекта <form> (там, где нужно разместить виджет reCAPTCHA):
<div class="g-recaptcha" data-sitekey="6Lc_jBsTAAAAACQkfVq11G-FlS70xGcc8yghiWAK"></div>


И то что осилить не могу:
Когда пользователи отправляют форму со встроенной проверкой reCAPTCHA, вместе с прочими данными вы получаете строку "g-recaptcha-response". Чтобы узнать, прошел ли пользователь проверку, отправьте POST-запрос со следующими параметрами:
URL: https://www.google.com/recaptcha/api/siteverify

secret (обязательно) 6Lc_jBsTAAAAAG_ibDV_3OYNQ3kmkH3W5aaqw9oq
response (обязательно) Значение "g-recaptcha-response".
remoteip IP-адрес конечного пользователя.

Проблема у меня с 3м пунктом интеграция на стороне сервера. Помогите пож.
Во вложении код моей формы обратной связи form.html а также mail.php
Как я понимаю нужно создать еще один файл php для проверки.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.03.2016, 22:25
Ответы с готовыми решениями:

ReCAPTCHA внедрение. Как подключить reCAPTCHA от Google
Здравствуйте! Нашел интересный обработчик формы обратной связи, переписал. Работало нормально, но в один момент решил я установить...

Adobe Muse яндекс карты
Подскажите в чем может быть проблема, суть в том что не отображаются яндекс карты в проекте adobe muse, в режиме дизайнa все отображается,...

Как вставить таблицу созданную в adobe muse на сайт
Добрый день уважаемые! Я только начал изучать язык програмирования не надо сильно пинать. Создал таблицу в программе adobe muse закинул...

2
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 139
23.03.2016, 22:27  [ТС]
Вложения
Вложения
Тип файла: rar 07.Form.rar (2.4 Кб, 2 просмотров)
0
1 / 1 / 1
Регистрация: 29.05.2015
Сообщений: 139
24.03.2016, 10:53  [ТС]
Лучший ответ Сообщение было отмечено kravchuks как решение

Решение

Сама форма контактов:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
/* === Remove input autofocus webkit === */
*:focus {outline: none;}
 
/* === Form Typography === */
body {font: 14px/21px "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", sans-serif;}
.contact_form h2, .contact_form label {font-family:Georgia, Times, "Times New Roman", serif;}
.form_hint, .required_notification {font-size: 12px;}
form{width:820px; height:auto; margin:0 auto;}
 
/* === List Styles === */
.contact_form ul {
    list-style-type:none;
    list-style-position:outside;
    margin:0px;
    padding:0px;
}
.contact_form li{
    padding:13px; 
    position:relative;
} 
 
/* === Form Header === */
.contact_form h2 {
    margin:0;
    display: inline;
}
.required_notification {
    color:#d45252; 
    margin:5px 0 0 0; 
    display:inline;
    float:right;
}
 
/* === Form Elements === */
.contact_form label {
    width:75px;
    margin-top: 3px;
    display:inline-block;
    float:left;
    padding:3px;
}
.contact_form input {
    height:25px; 
    width:330px; 
    padding:5px 8px;
}
.contact_form textarea {padding:8px; width:705px; height:300px}
 
    /* form element visual styles */
    .contact_form input, .contact_form textarea { 
        border:1px solid #aaa;
        box-shadow: 0px 0px 3px #ccc, 0 10px 15px #eee inset;
        border-radius:2px;
        padding-right:30px;
        -moz-transition: padding .25s; 
        -webkit-transition: padding .25s; 
        -o-transition: padding .25s;
        transition: padding .25s;
    }
    .contact_form input:focus, .contact_form textarea:focus {
        background: #fff; 
        border:1px solid #555; 
        box-shadow: 0 0 3px #aaa; 
        padding-right:70px;
    }
 
/* === HTML5 validation styles === */   
.contact_form input:required, .contact_form textarea:required {
    background: #fff url(images/red_asterisk.png) no-repeat 98% center;
}
.contact_form input:required:valid, .contact_form textarea:required:valid {
    background: #fff url(images/valid.png) no-repeat 98% center;
    box-shadow: 0 0 5px #393cb4;
    border-color: #0f33ea;
}
.contact_form input:focus:invalid, .contact_form textarea:focus:invalid {
    background: #fff url(images/invalid.png) no-repeat 98% center;
    box-shadow: 0 0 5px #d45252;
    border-color: #b03535
}
 
/* === Form hints === */
.form_hint {
    background: #d45252;
    border-radius: 3px 3px 3px 3px;
    color: white;
    margin-left:8px;
    padding: 1px 6px;
    z-index: 999; /* hints stay above all other elements */
    position: absolute; /* allows proper formatting if hint is two lines */
    display: none;
}
.form_hint::before {
    content: "\25C0";
    color:#d45252;
    position: absolute;
    top:1px;
    left:-6px;
}
.contact_form input:focus + .form_hint {display: inline;}
.contact_form input:required:valid + .form_hint {background: #474747;}
.contact_form input:required:valid + .form_hint::before {color:#434343;}
    
/* === Button Style === */
button.submit {
    background-color: #545454;
    background: -webkit-gradient(linear, left top, left bottom, from(#454545), to(#444444));
    background: -webkit-linear-gradient(top, #4c4c4c, #444444);
    background: -moz-linear-gradient(top, #4c4c4c, #444444);
    background: -ms-linear-gradient(top, #4c4c4c, #444444);
    background: -o-linear-gradient(top, #4c4c4c, #444444);
    background: linear-gradient(top, #4c4c4c, #444444);
    border: 1px solid #000000;
    border-bottom: 1px solid #3e3e3e;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    box-shadow: inset 0 1px 0 0 #50524e;
    -webkit-box-shadow: 0 1px 0 0 #50524e inset ;
    -moz-box-shadow: 0 1px 0 0 #50524e inset;
    -ms-box-shadow: 0 1px 0 0 #50524e inset;
    -o-box-shadow: 0 1px 0 0 #50524e inset;
    color: white;
    font-weight: bold;
    padding: 6px 20px;
    text-align: center;
    text-shadow: 0 -1px 0 #000000;
}
button.submit:hover {
    opacity:.85;
    cursor: pointer; 
}
button.submit:active {
    border: 1px solid #040404;
    box-shadow: 0 0 10px 5px #0b0b0b inset; 
    -webkit-box-shadow:0 0 10px 5px #0b0b0b inset ;
    -moz-box-shadow: 0 0 10px 5px #0b0b0b inset;
    -ms-box-shadow: 0 0 10px 5px #0b0b0b inset;
    -o-box-shadow: 0 0 10px 5px #0b0b0b inset;
    
}
</style>
</head>
<body>
<form class="contact_form" action="mail.php" method="post" name="contact_form">
    <ul>
      <li>
          <input name="name" type="text"  placeholder="Ваше Имя" required />
          <input name="e_mail" type="text" placeholder="Телефон" required />
        </li>
        <li>
            <textarea name="text" cols="40" rows="6" placeholder= "Текст Вашего сообщения..." required ></textarea>
        </li>
<li>
<div class="g-recaptcha" data-sitekey="6Lc_jBsTAAAAACQkfVq11G-FlS70xGcc8yghiWAK"></div>
 </li>        
<li>
            <button class="submit" type="submit">Отправить сообщение</button>
        </li>
    </ul>
</form>
</body>
</html>
форма mail.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Contact us</title>
</head>
 
<body>
<?php
function send_mail()
{
$name = htmlspecialchars($_REQUEST['name']);
}
{
$email = htmlspecialchars($_REQUEST['email']);
}
$message = '<HTML><BODY><b>Name: </b>'.$_REQUEST['name'].'<br> <b>E-mail: </b>'.$_REQUEST['e_mail'].'<br><b>Subgect: </b>'.$_REQUEST['text'].'</BODY></HTML>';
 
include "class.phpmailer.php";// подключаем класс
 
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->From = $_REQUEST['email'];
$mail->FromName = $_REQUEST['name'];
$mail->AddAddress('**********@gmail.com');
$mail->IsHTML(true);
$mail->Subject = 'Sergiy Kravchuk Photography';
 
if(isset($_FILES['files']))
{
if($_FILES['files']['error'] == 0)
{
$mail->AddAttachment($_FILES['files']['tmp_name'],$_FILES['files']['name']);
}
}
$mail->Body = $message;
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
{
    echo '<script type="text/javascript">';
    echo 'window.location.href="thank-you.html";';
    echo '</script>';
}
if (!empty($_POST['submit'])) send_mail();
?>
</body>
</html>
Добавлено через 12 часов 13 минут

Разобрался своими силами. Правда мне не нравится перенаправление на пустую страницу с предуприждением в случае не заполнения каптчию Возможно ли это поправить ?


Сам код моего php обработчика
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$email;$comment;$captcha;
        if(isset($_POST['email'])){
          $email=$_POST['email'];
        }if(isset($_POST['comment'])){
          $email=$_POST['comment'];
        }if(isset($_POST['g-recaptcha-response'])){
          $captcha=$_POST['g-recaptcha-response'];
        }
        if(!$captcha){
          echo '<h2>Please check the the captcha form.</h2>';
          exit;
        }
        $secretKey = "*************************";
        $ip = $_SERVER['REMOTE_ADDR'];
        $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
        $responseKeys = json_decode($response,true);
        if(intval($responseKeys["success"]) !== 1) {
          echo '<h2>You are spammer ! Get the @$%K out</h2>';
        } else {
          echo '<h2>Thanks for posting comment.</h2>';
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2016, 10:53
Помогаю со студенческими работами здесь

Не работает "подвал" в программе Adobe Muse 2015
Всем хай! У меня проблема с программой Adobe Muce 2015. Я взял прямоугольник, залил его черным и поставил галку &quot;Элемент нижнего...

Google recaptcha и laravel 5
Доброго времени суток! я попытался добавить на свой сайт каптчу по этому туториалу ТЫЦ все добавил как написано но $response...

Callback от Google reCAPTCHA 2
Доброго дня уважаемые форумчане. Столкнулся с такой проблемой, а именно - не всегда загружается капча от Google. Рендерю в блок div ее...

Google recaptcha в laravel
установил капчу https://github.com/thinhbuzz/laravel-google-captcha но такая ошибка Class captcha does not exist (View:...

Captcha - reCAPTCHA от Google
Доброго всем дня. Такой вопрос, довольно странный, раньше не сталкивался. Имеется сайт на Joomla 2.5 по умолчанию там должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru