bubusan
24-05-2006, 12:53
Salve ho cercato e modificato un piccolo script php anti-leetch per il download dei file.
1 problema - risolto guarda il 2 post:
L'unico problema e che quando carico la pagina in questo modo per portare un informazione :
www.sito.com/prova.php?nomecassetta=playgames ,
quando clicco su "ACCEPT" non si porta appreso l'informazione nel link
('Location: http://www.sito/scarica.php?$cassetta.rar'); dove come si puo notare nel codice la variabile $cassetta e' uguale all'informazione che porto.
Mi potete aiutare a risolvere il problema ?
pagina prova.php
<?php
$cassetta=$_GET['nomecassetta'];
// we must never forget to start the session
session_start();
$errorMessage = '';
// first check if the number submitted is correct
$number = $_POST['txtNumber'];
if (md5($number) == $_SESSION['image_random_value']) {
// set the session
$_SESSION['image_is_logged_in'] = true;
// remove the random value from session
$_SESSION['image_random_value'] = '';
// after login we move to the main page
('Location: http://www.sito/scarica.php?$cassetta.rar');
exit;
}
else {
$errorMessage = 'Sorry, wrong number. Please try again';
}
?>
<?php
if ($errorMessage != '') {
?>
<p align="center"><strong><font color="#990000"><?php echo $errorMessage; ?></font></strong></p>
<?php
}
?>
<form action="" method="post" name="frmLogin" id="frmLogin">
Enter Number :
<input name="txtNumber" type="text" id="txtNumber" value="">
<img src="random_image.php">
<p>
<input name="btnLogin" type="submit" id="btnLogin" value="Scarica">
</form>
</body>
Questo invece e' lo script per creare l'immaggine come nei forum in GD :
pagina random_image.php
<?php
session_start();
// make a string with all the characters that we
// want to use as the verification code
$alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
// generate the verication code
$rand = substr(str_shuffle($alphanum), 0, 5);
// create the hash for the verification code
// and put it in the session
$_SESSION['image_random_value'] = md5($rand);
// create the image
$image = imagecreate(60, 30);
// use white as the background image
$bgColor = imagecolorallocate ($image, 255, 255, 255);
// the text color is black
$textColor = imagecolorallocate ($image, 0, 0, 0);
// write the random number
imagestring ($image, 5, 5, 8, $rand, $textColor);
// send several headers to make sure the image is not cached
// taken directly from the PHP Manual
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
// send the content type header so the image is displayed properly
header('Content-type: image/jpeg');
// send the image to the browser
imagejpeg($image);
// destroy the image to free up the memory
imagedestroy($image);
?>
1 problema - risolto guarda il 2 post:
L'unico problema e che quando carico la pagina in questo modo per portare un informazione :
www.sito.com/prova.php?nomecassetta=playgames ,
quando clicco su "ACCEPT" non si porta appreso l'informazione nel link
('Location: http://www.sito/scarica.php?$cassetta.rar'); dove come si puo notare nel codice la variabile $cassetta e' uguale all'informazione che porto.
Mi potete aiutare a risolvere il problema ?
pagina prova.php
<?php
$cassetta=$_GET['nomecassetta'];
// we must never forget to start the session
session_start();
$errorMessage = '';
// first check if the number submitted is correct
$number = $_POST['txtNumber'];
if (md5($number) == $_SESSION['image_random_value']) {
// set the session
$_SESSION['image_is_logged_in'] = true;
// remove the random value from session
$_SESSION['image_random_value'] = '';
// after login we move to the main page
('Location: http://www.sito/scarica.php?$cassetta.rar');
exit;
}
else {
$errorMessage = 'Sorry, wrong number. Please try again';
}
?>
<?php
if ($errorMessage != '') {
?>
<p align="center"><strong><font color="#990000"><?php echo $errorMessage; ?></font></strong></p>
<?php
}
?>
<form action="" method="post" name="frmLogin" id="frmLogin">
Enter Number :
<input name="txtNumber" type="text" id="txtNumber" value="">
<img src="random_image.php">
<p>
<input name="btnLogin" type="submit" id="btnLogin" value="Scarica">
</form>
</body>
Questo invece e' lo script per creare l'immaggine come nei forum in GD :
pagina random_image.php
<?php
session_start();
// make a string with all the characters that we
// want to use as the verification code
$alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
// generate the verication code
$rand = substr(str_shuffle($alphanum), 0, 5);
// create the hash for the verification code
// and put it in the session
$_SESSION['image_random_value'] = md5($rand);
// create the image
$image = imagecreate(60, 30);
// use white as the background image
$bgColor = imagecolorallocate ($image, 255, 255, 255);
// the text color is black
$textColor = imagecolorallocate ($image, 0, 0, 0);
// write the random number
imagestring ($image, 5, 5, 8, $rand, $textColor);
// send several headers to make sure the image is not cached
// taken directly from the PHP Manual
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
// send the content type header so the image is displayed properly
header('Content-type: image/jpeg');
// send the image to the browser
imagejpeg($image);
// destroy the image to free up the memory
imagedestroy($image);
?>