LLuiz Augusto Correia de AraujoJul 28, 2020
Hi,
Could you help me to configure the reCaptcha?
Regards,
Luiz
5 replies · opened Jul 28, 2020
Hi,
Could you help me to configure the reCaptcha?
Regards,
Luiz
The file was atteched.
'laca@laca.com.br', // Your Email Address
'name' => 'Luiz' // Your Name
);
/*-------------------------------------------------
Sender's Email
---------------------------------------------------*/
$fromemail = array(
'email' => 'site@clubemontelibano.com.br', // Company's Email Address (preferably currently used Domain Name)
'name' => 'Clube Monte Líbano' // Company Name
);
/*-------------------------------------------------
reCaptcha
---------------------------------------------------*/
// Add this only if you use reCaptcha with your Contact Forms
$recaptcha_secret = '6Ld81FUUAAAAAG2AH7g9t40l8D2dFME1zOZqgxvJ'; // Your reCaptcha Secret
/*-------------------------------------------------
PHPMailer Initialization
---------------------------------------------------*/
$mail = new PHPMailer();
/* Add your SMTP Codes after this Line */
$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = ‘smtp.gmail.com’;
$mail->Port = 587;
$mail->SMTPSecure = ‘tls’;
$mail->SMTPAuth = true;
$mail->Username = 'site@clubemontelibano.com.br';
$mail->Password = '@Site1234';
// End of SMTP
/*-------------------------------------------------
Form Messages
---------------------------------------------------*/
$message = array(
'success' => 'Nós recebemos **com sucesso** a sua mensagem e iremos retornar em breve.',
'error' => 'Sua mensagem **não foi enviada ** por um erro inesperado. Por gentileza, tente novamente.',
'error_bot' => 'Robô Detectado! O Formulário não foi processado! Por gentileza, tente novamente!',
'error_unexpected' => 'Um **erro inesperado** ocorreu. Por gentileza, tente novamente.',
'recaptcha_invalid' => 'O Captcha não é válido! Por gentileza, tente novamente!',
'recaptcha_error' => 'Captcha não informado! Por gentileza, tente novamente.'
);
/*-------------------------------------------------
Blocked Words from Forms
---------------------------------------------------*/
$spam_keywords = array(
'viagra',
'cialis',
'levitra'
);
/*-------------------------------------------------
Form Processor
---------------------------------------------------*/
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$prefix = !empty( $_POST['prefix'] ) ? $_POST['prefix'] : '';
$submits = $_POST;
$botpassed = false;
$message_form = !empty( $submits['message'] ) ? $submits['message'] : array();
$message['success'] = !empty( $message_form['success'] ) ? $message_form['success'] : $message['success'];
$message['error'] = !empty( $message_form['error'] ) ? $message_form['error'] : $message['error'];
$message['error_bot'] = !empty( $message_form['error_bot'] ) ? $message_form['error_bot'] : $message['error_bot'];
$message['error_unexpected'] = !empty( $message_form['error_unexpected'] ) ? $message_form['error_unexpected'] : $message['error_unexpected'];
$message['recaptcha_invalid'] = !empty( $message_form['recaptcha_invalid'] ) ? $message_form['recaptcha_invalid'] : $message['recaptcha_invalid'];
$message['recaptcha_error'] = !empty( $message_form['recaptcha_error'] ) ? $message_form['recaptcha_error'] : $message['recaptcha_error'];
/*-------------------------------------------------
Bot Protection
---------------------------------------------------*/
if( isset( $submits[ $prefix . 'botcheck' ] ) ) {
$botpassed = true;
}
if( !empty( $submits[ $prefix . 'botcheck' ] ) ) {
$botpassed = false;
}
if( $botpassed == false ) {
echo '{ "alert": "error", "message": "' . $message['error_bot'] . '" }';
exit;
}
/*-------------------------------------------------
SPAM Protection
---------------------------------------------------*/
function spam_keyword_check( $submitted, $spamwords ) {
if( !is_array( $spamwords ) ) $spamwords = array( $spamwords );
foreach( $spamwords as $spamstring ) {
if( ( $position = stripos( $submitted, $spamstring ) ) !== false ) return $position;
}
return false;
}
foreach( $submits as $spam_submit ) {
if( spam_keyword_check( $spam_submit, $spam_keywords ) ) {
// A successful message is displayed to the submitter that makes him think that the Form has been sent so that he cannot modify the keywords to prevent SPAM
echo '{ "alert": "success", "message": "' . $message['success'] . '" }';
exit;
}
}
/*-------------------------------------------------
reCaptcha
---------------------------------------------------*/
if( isset( $submits['g-recaptcha-response'] ) ) {
$recaptcha_data = array(
'secret' => $recaptcha_secret,
'response' => $submits['g-recaptcha-response']
);
$recap_verify = curl_init();
curl_setopt( $recap_verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify" );
curl_setopt( $recap_verify, CURLOPT_POST, true );
curl_setopt( $recap_verify, CURLOPT_POSTFIELDS, http_build_query( $recaptcha_data ) );
curl_setopt( $recap_verify, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $recap_verify, CURLOPT_RETURNTRANSFER, true );
$recap_response = curl_exec( $recap_verify );
$g_response = json_decode( $recap_response );
if ( $g_response->success !== true ) {
echo '{ "alert": "error", "message": "' . $message['recaptcha_invalid'] . '" }';
exit;
}
}
$template = !empty( $submits['template'] ) ? $submits['template'] : 'html';
$html_title = !empty( $submits['html_title'] ) ? $submits['html_title'] : 'Form Response';
$forcerecap = ( !empty( $submits['force_recaptcha'] ) && $submits['force_recaptcha'] != 'false' ) ? true : false;
$replyto = !empty( $submits['replyto'] ) ? explode( ',', $submits['replyto'] ) : false;
if( $forcerecap ) {
if( !isset( $submits['g-recaptcha-response'] ) ) {
echo '{ "alert": "error", "message": "' . $message['recaptcha_error'] . '" }';
exit;
}
}
/*-------------------------------------------------
Auto-Responders
---------------------------------------------------*/
$autores = ( !empty( $submits['autoresponder'] ) && $submits['autoresponder'] != 'false' ) ? true : false;
$ar_subject = !empty( $submits['ar_subject'] ) ? $submits['ar_subject'] : 'Thanks for your Email';
$ar_title = !empty( $submits['ar_title'] ) ? $submits['ar_title'] : 'Its so good to hear from You!';
$ar_message = !empty( $submits['ar_message'] ) ? $submits['ar_message'] : 'Autoresponder Message';
preg_match_all('#\{(.*?)\}#', $ar_message, $ar_matches);
if( !empty( $ar_matches[1] ) ) {
foreach( $ar_matches[1] as $ar_key => $ar_value ) {
$ar_message = str_replace( '{' . $ar_value . '}' , $submits[ $ar_value ], $ar_message );
}
}
$ar_footer = !empty( $submits['ar_footer'] ) ? $submits['ar_footer'] : 'Copyrights © ' . date('Y') . ' **SemiColonWeb**. All Rights Reserved.';
$mail->Subject = !empty( $submits['subject'] ) ? $submits['subject'] : 'Form Response from your Website';
$mail->SetFrom( $fromemail['email'] , $fromemail['name'] );
if( !empty( $replyto ) ) {
if( count( $replyto ) > 1 ) {
$replyto_e = $submits[ $replyto[0] ];
$replyto_n = $submits[ $replyto[1] ];
$mail->AddReplyTo( $replyto_e , $replyto_n );
} elseif( count( $replyto ) == 1 ) {
$replyto_e = $submits[ $replyto[0] ];
$mail->AddReplyTo( $replyto_e );
}
}
foreach( $toemails as $toemail ) {
$mail->AddAddress( $toemail['email'] , $toemail['name'] );
}
$unsets = array( 'prefix', 'subject', 'replyto', 'template', 'html_title', 'message', 'autoresponder', 'ar_subject', 'ar_title', 'ar_message', 'ar_footer', $prefix . 'botcheck', 'g-recaptcha-response', 'force_recaptcha', $prefix . 'submit' );
foreach( $unsets as $unset ) {
unset( $submits[ $unset ] );
}
$fields = array();
foreach( $submits as $name => $value ) {
if( empty( $value ) ) continue;
$name = str_replace( $prefix , '', $name );
$name = mb_convert_case( $name, MB_CASE_TITLE, "UTF-8" );
if( is_array( $value ) ) {
$value = implode( ', ', $value );
}
$fields[$name] = $value;
}
$files = $_FILES;
foreach( $files as $file => $filevalue ) {
if( is_array( $filevalue['name'] ) ) {
$filecount = count( $filevalue['name'] );
for( $f = 0; $f IsHTML(true);
$mail->AddAttachment( $_FILES[ $file ]['tmp_name'][ $f ], $_FILES[ $file ]['name'][ $f ] );
}
}
} else {
if ( isset( $_FILES[ $file ] ) && $_FILES[ $file ]['error'] == UPLOAD_ERR_OK ) {
$mail->IsHTML(true);
$mail->AddAttachment( $_FILES[ $file ]['tmp_name'], $_FILES[ $file ]['name'] );
}
}
}
$response = array();
foreach( $fields as $fieldname => $fieldvalue ) {
if( $template == 'text' ) {
$response[] = $fieldname . ': ' . $fieldvalue;
} else {
$fieldname = '
' . $fieldname . '
';
$fieldvalue = '
' . $fieldvalue . '
';
$response[] = $fieldname . $fieldvalue;
}
}
$referrer = $_SERVER['HTTP_REFERER'] ? '
This Form was submitted from: ' . $_SERVER['HTTP_REFERER'] : '';
$html_before = '
';
$html_after = '
';
if( $template == 'text' ) {
$body = implode( "
", $response ) . $referrer;
} else {
$html = $html_before . '
' . $html_title . '
' . implode( '', $response ) . '
' . strip_tags( $referrer ) . '
' . $html_after;
$body = $html;
}
if( $autores && !empty( $replyto_e ) ) {
$autoresponder = new PHPMailer();
/* Add your Auto-Responder SMTP Codes after this Line */
// End of Auto-Responder SMTP
$autoresponder->SetFrom( $fromemail['email'] , $fromemail['name'] );
if( !empty( $replyto_n ) ) {
$autoresponder->AddAddress( $replyto_e , $replyto_n );
} else {
$autoresponder->AddAddress( $replyto_e );
}
$autoresponder->Subject = $ar_subject;
$ar_body = $html_before . '
' . $ar_title . '
' . $ar_message . '
' . $ar_footer . '
' . $html_after;
$autoresponder->MsgHTML( $ar_body );
}
$mail->MsgHTML( $body );
$mail->CharSet = "UTF-8";
$sendEmail = $mail->Send();
if( $sendEmail == true ):
if( $autores && !empty( $replyto_e ) ) {
$send_arEmail = $autoresponder->Send();
}
echo '{ "alert": "success", "message": "' . $message['success'] . '" }';
else:
echo '{ "alert": "error", "message": "' . $message['error'] . '
**Reason:**
' . $mail->ErrorInfo . '" }';
endif;
} else {
echo '{ "alert": "error", "message": "' . $message['error_unexpected'] . '" }';
}
?>
Hi
I fixed the issue.
Thank you!
Could you please delete this topic?
Regards,
Luiz
Sure.
Have the same question, or something new?
Sign in to the Canvas dashboard to reply or open your own topic. Canvas owners get direct help from the SemiColonWeb team.
Reply on the dashboard