Jump to content
Sign in to follow this  
barh.it

[php] conferma visuale,mi aiutate?

Recommended Posts

tempo fa ho dovuto togliere il mio giestbook x eccessivo spam,ora mi sto attrezzando x inserire una piccola conferma visuale. il form la fa vedere correttamente però non capisco dove inserire il controllo.. premetto che ho rubacchiato il codice x la conf.vis. da un'altra mod phpbb. ecco i codici:

 

questo è quello che genera l'immagine con il codice

<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); 
header("Content-Type: image/png");
session_start();
$im = ImageCreate(80, 25);
$white = ImageColorAllocate($im, 255, 255, 255);
$black = ImageColorAllocate($im, 0, 0, 0);
$string = md5(rand(0,9999));
$_SESSION["new_string"] = substr($string, 17, 5);
ImageFill($im, 0, 0, $black);
ImageString($im, 4, 15, 5, $_SESSION["new_string"], $white);
ImagePNG($im);
ImageDestroy($im);
?>

 

questa è la parte dove vengono pescati tutti i dati e dove presumo dovrei inserire il controllo del codice

<?php
$include_path = dirname(__FILE__);
include_once $include_path."/admin/config.inc.php";
include_once $include_path."/lib/$DB_CLASS";
include_once $include_path."/lib/image.class.php";
include_once $include_path."/lib/template.class.php";

include_once $include_path."/lib/vars.class.php";
include_once $include_path."/lib/add.class.php";
$gb_post = new addentry($include_path);

if (isset($HTTP_POST_VARS["gb_action"])) 
{
$gb_post->name = (isset($HTTP_POST_VARS["gb_name"])) ? $HTTP_POST_VARS["gb_name"] : '';
$gb_post->email = (isset($HTTP_POST_VARS["gb_email"])) ? $HTTP_POST_VARS["gb_email"] : '';
$gb_post->url = (isset($HTTP_POST_VARS["gb_url"])) ? $HTTP_POST_VARS["gb_url"] : '';
$gb_post->comment = (isset($HTTP_POST_VARS["gb_comment"])) ? $HTTP_POST_VARS["gb_comment"] : '';
$gb_post->location = (isset($HTTP_POST_VARS["gb_location"])) ? $HTTP_POST_VARS["gb_location"] : '';
$gb_post->icq = (isset($HTTP_POST_VARS["gb_icq"])) ? $HTTP_POST_VARS["gb_icq"] : '';
$gb_post->aim = (isset($HTTP_POST_VARS["gb_aim"])) ? $HTTP_POST_VARS["gb_aim"] : '';
$gb_post->gender = (isset($HTTP_POST_VARS["gb_gender"])) ? $HTTP_POST_VARS["gb_gender"] : '';
$gb_post->userfile = (isset($HTTP_POST_FILES["userfile"]["tmp_name"]) && $HTTP_POST_FILES["userfile"]["tmp_name"] != "") ? $HTTP_POST_FILES : '';
$gb_post->user_img = (isset($HTTP_POST_VARS["gb_user_img"])) ? $HTTP_POST_VARS["gb_user_img"] : '';
$gb_post->preview = (isset($HTTP_POST_VARS["gb_preview"])) ? 1 : 0;
$gb_post->private = (isset($HTTP_POST_VARS["gb_private"])) ? 1 : 0;
echo $gb_post->process($HTTP_POST_VARS["gb_action"]);
}
else 
{

echo $gb_post->process();
//
// Show the overall footer.
//
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
exit;
}
?>

 

e infine questa è la riga x il controllo:

if($HTTP_POST_VARS["confirm_code"] != $_SESSION["new_string"])
{
message_die(GENERAL_ERROR, $lang['code_wrong']);
}

 

nel form ho messo come nome del campo confirm_code quindi presumo che da questo punto di vista sia ok.. mi aiutate a risolvere? grazie!

Share this post


Link to post
Share on other sites

ciao kunyo,

non l'ho scritto io il codice,l'ho pescato da una mod x phpbb e volevo integrarla nel guestbook.. che rischi ci sono nel mettere la stringa a quel modo? l'importante è che gli spambot spariscano dal guest :)

Share this post


Link to post
Share on other sites

in effetti nn ha molto senso passarla come variabile di sessione, ma come soluzione è accettabile

il problema è che poi potrebbero riuscire a "beccartela" la variabile anche se è molto difficile perchè il codice non lo conoscono, dato che l'hai fatto tu

quindi nn dovrebbero esserci problemi, provala e vediamo se funziona

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×