Inscription.php modifier
Voila n'y connaissant pas grand chose , voir rien en php j'aimerais savoir comment ajouter un captcha a mon inscription ( trinty core register from) pour éviter le flood bdd.
Code PHP :
<?php

// Configuration.
// Realm database.
$r_db "realmd";
// IP (and port).
$ip "127.0.0.1:3306";
// Username.
$user "";
// Password.
$pass "";
// Site title.
$title "";
$title2 "";
// End config.

$page '<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<title>' 
$title '</title>
</head>
<form method="post" action="' 
$_SERVER["SCRIPT_NAME"] . '">
<p style="text-align:center;">
<strong><img src="inscription.png"></strong>
<br /><br /><br />
Username:
<br /><input name="username" type="text" maxlength="14" /><br />
Password:
<br /><input name="password" type="password" maxlength="12" /><br />
Email:
<br /><input name="email" type="text" maxlength="50" />
<br /><input name="tbc" type="checkbox" checked="checked" /> TBC<br /><br /><br />
<button type="submit">Submit</button>
</p>
</form>
</body>
</html>'
;

function 
error_s ($text) {
    echo(
"<p style=\"background-color:black;color:yellow;font-family:verdana;\">" $text);
    echo(
"<br /><br /><a style=\"color:orange;\" href=\"" $_SERVER["SCRIPT_NAME"] . "\">Go back...</a></p>");
};

$user_chars "#[^a-zA-Z0-9_\-]#";
$email_chars "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";

$con = @mysql_connect($ip$user$pass);
if (!
$con) {
    
error_s("Unable to connect to database: " mysql_error());
};

if (!empty(
$_POST)) {
        if ((empty(
$_POST["username"]))||(empty($_POST["password"]))||(empty($_POST["email"]))||(empty($_POST["tbc"])) ) {
                
error_s("You did not enter all the required information.");
                exit();
        } else {
                
$username strtoupper($_POST["username"]);
                
$password strtoupper($_POST["password"]);
                
$email strtoupper($_POST["email"]);
                if (
strlen($username) < 5) {
                        
error_s("Username too short.");
                        exit();
                };
                if (
strlen($username) > 14) {
                        
error_s("Username too long.");
                        exit();
                };
                if (
strlen($password) < 8) {
                        
error_s("Password too short.");
                        exit();
                };
                if (
strlen($password) > 12) {
                        
error_s("Password too long.");
                        exit();
                };
                if (
strlen($email) < 15) {
                        
error_s("Email was too short.");
                        exit();
                };
                if (
strlen($email) > 50) {
                        
error_s("Email was too long.");
                        exit();
                };
                if (
preg_match($user_chars,$username)) {
                        
error_s("Username contained illegal characters.");
                        exit();
                };
                if (
preg_match($user_chars,$password)) {
                        
error_s("Password contained illegal characters.");
                        exit();
                };
                if (!
preg_match($email_chars,$email)) {
                        
error_s("Email was in an incorrect format.");
                        exit();
                };
                if (
$_POST['tbc'] != "on") {
                        
$tbc "0";
                } else {
                        
$tbc "1";
                };
                
$username mysql_real_escape_string($username);
                
$password mysql_real_escape_string($password);
                
$email mysql_real_escape_string($email);
                
$qry = @mysql_query("select username from " mysql_real_escape_string($r_db) . ".account where username = '" $username "'"$con);
                if (!
$qry) {
                    
error_s("Error querying database: " mysql_error());
                };
                if (
$existing_username mysql_fetch_assoc($qry)) {
                        foreach (
$existing_username as $key => $value) {
                                
$existing_username $value;
                        };
                };
                
$existing_username strtoupper($existing_username);
                if (
$existing_username == strtoupper($_POST['username'])) {
                        
error_s("That username is already taken.");
                        exit();
                };
                unset(
$qry);
                
$qry = @mysql_query("select email from " mysql_real_escape_string($r_db) . ".account where email = '" $email "'"$con);
                if (!
$qry) {
                    
error_s("Error querying database: " mysql_error());
                };
                if (
$existing_email mysql_fetch_assoc($qry)) {
                        foreach (
$existing_email as $key => $value) {
                                
$existing_email $value;
                        };
                };
                if (
$existing_email == $_POST['email']) {
                        
error_s("That email is already in use.");
                        exit();
                };
                unset(
$qry);
                
$sha_pass_hash sha1(strtoupper($username) . ":" strtoupper($password));
                
$register_sql "insert into " mysql_real_escape_string($r_db) . ".account (username, sha_pass_hash, email, expansion) values (upper('" $username "'),'" $sha_pass_hash "','" $email "','" $tbc "')";
                
$qry = @mysql_query($register_sql$con);
                if (!
$qry) {
                    
error_s("Error creating account: " mysql_error());
                };
                echo(
"Account successfully created.");
                exit();
        };
} else {
        echo(
$page);
};

?>

voila.
Bonjour, s'il vous plait, merci.
Voilà.
As-tu déjà des pistes ? On va pas te le donner tout fait tu n'apprendrais rien.

As-tu déjà un petit peu cherché sur google les solutions de captcha qui existent ?
Oui bien sur ,

je suis tomber sur :

http://www.google.com/recaptcha

mais je ne sais pas comment l'inclure.

en me débrouillant sa ne fonctionne pas j'ai :

http://www.milkshack.net/images/sansti-1306417804.png

Je pense que j'ai mal inclu le captcha dans mon inscription.php car je l'ai mit au debut je n'arrive pas a faire fonctionner l'ensemble ( il sert a rien le captchala )
Code PHP :
<script type="text/javascript">
var 
RecaptchaOptions={
lang'fr',
theme'clean'
};
</script>

<?php

require_once('recaptchalib.php'); // Vérifier que l'URL relative correspond à l'emplacement du fichier (adapter si nécessaire)
$publickey "****"// Utiliser la clé que vous avez eu lors de l'inscription sur recaptcha.net
echo recaptcha_get_html($publickey); // Affiche le captcha


$privatekey "******"// Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
$resp recaptcha_check_answer ($privatekey,
                                
$_SERVER["REMOTE_ADDR"],
                                
$_POST["recaptcha_challenge_field"],
                                
$_POST["recaptcha_response_field"]);

if (!
$resp->is_valid) { // Test si le captcha a bien été rempli
  // Si le captcha n'est pas valide
  
echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
}
else{
  
// Si le captcha est valide
  // Ici, utiliser votre code PHP pour traiter le formulaire


Comment inclure ce code dans mon fichier mit plus haut.

Retourner en haut Accueil