Wie bekommt man solchen Captcha?

kajen_jeyam

Grünschnabel
Hallo!

Ich würde gerne wissen, wie man Captcha benutzen kann um eine Datei zu downloaden. Also man muss das richtige Captcha eingeben, damit man die Datei downloaden kann. Es soll genauso funktionieren, wie auf der Megaupload Seite.

Hier ein Beispiel:

http://www.megaupload.com/?d=TZN3KGZI

Erst wenn man den Code richtig eingibt, kann man die Datei Downloaden. Gibt man den falschen code ein, ladet es ein neuen captcha. Wie funktioniert das? Und kann man das vlt auch nachbauen? Wäre dankbar für jede Hilfe danke!
 
Hi

wenn das Captcha richtig eingegeben wurde, startest du den Download, wenn nicht lädst du die Seite und damit das Captcha neu. Wo liegt jetzt dein Problem? Weißt du nicht wie man ein Captcha erstellt oder einen Dateidownload? Dazu solltest du bei Google ziemlich viele Einträge finden.
 
Hi

wenn das Captcha richtig eingegeben wurde, startest du den Download, wenn nicht lädst du die Seite und damit das Captcha neu. Wo liegt jetzt dein Problem? Weißt du nicht wie man ein Captcha erstellt oder einen Dateidownload? Dazu solltest du bei Google ziemlich viele Einträge finden.

Ja hab ich, aber habe nirgendwo etwas gefunden, wie man das macht mit zum Datei Download. Da ist ja nur ein Submit Form.

Ich habe da auch etwas probiert, aber hat irgendwie nicht geklappt:

Das hier habe ich als spam.html gespeichert:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>

<body>

<div>
<?php

@session_start(); // start session if not started yet
if ($_SESSION['AntiSpamImage'] != $_REQUEST['anti_spam_code']) {
  // set antispam string to something random, in order to avoid reusing it once again
  $_SESSION['AntiSpamImage'] = rand(1,9999999);

  // here you add code to let user know incorrect code entered

echo "Wrong Code! Try Again";
}
else {
  // set antispam string to something random, in order to avoid reusing it once again
  $_SESSION['AntiSpamImage'] = rand(1,9999999);

  // everything is fine, proceed with processing feedback/comment/etc.

}

?>
<img src="antispam.php">
<input name="anti_spam_code"> 
<a href="get.php">Downloaden Sie hier! </a></div>
</body>
</html>

Dann habe ich das hier antispam.php gespeichert:

PHP:
<?php

$url = jesmedia.comoj.com/download?f=Footer_1.png';
?>


und im antispam habe ich das gespeicheert:

PHP:
<?php
###############################################################
# Anti-spam Image Generator (CAPTCHA) 1.0
###############################################################
# For updates visit http://www.zubrag.com/scripts/
############################################################### 

// Font name to use. Make sure it is available on the server.
// You could upload it to the same folder with script if it cannot find font.
// By default it uses arial.ttf font.
$font = 'arial';

// list possible characters to include on the CAPTCHA
$charset = '0123456789';

// how many characters include in the CAPTCHA
$code_length = 6;

// antispam image height
$height = 20;

// antispam image width
$width = 80;

############################################################
#  END OF SETTINGS
############################################################

// this will start session if not started yet
@session_start();

$code = '';
for($i=0; $i < $code_length; $i++) {
  $code = $code . substr($charset, mt_rand(0, strlen($charset) - 1), 1);
}

$font_size = $height * 0.7;
$image = @imagecreate($width, $height);
$background_color = @imagecolorallocate($image, 255, 20, 100);
$noise_color = @imagecolorallocate($image, 90, 50, 100);

/* add image noise */
for($i=0; $i < ($width * $height) / 4; $i++) {
  @imageellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
}
/* render text */
$text_color = @imagecolorallocate($image, 0, 0, 0);
@imagettftext($image, $font_size, 0, 7,17,
              $text_color, $font , $code)
  or die('Cannot render TTF text.');

/* output image to the browser */
header('Content-Type: image/png');
@imagepng($image) or die('imagepng error!');
@imagedestroy($image);
$_SESSION['AntiSpamImage'] = $code;
exit();
?>


Funkt aber nicht :S
 
(Du hast doppelt gepostet! Das gleiche!) Maik hats behoben.

Das mit dem Download ist leicht. Als Ziel musst du nur ein PHP-Skript angeben, welches überprüft, ob der eingegebene Code richtig ist und ggf. die Datei zum Download bereitstellt:
PHP:
if (IsRightCode())
{
  header("Content-disposition: attachment; filename=fname.exe");
}
 
Zuletzt bearbeitet:
(Du hast doppelt gepostet! Das gleiche!) Maik hats behoben.

Das mit dem Download ist leicht. Als Ziel musst du nur ein PHP-Skript angeben, welches überprüft, ob der eingegebene Code richtig ist und ggf. die Datei zum Download bereitstellt:
PHP:
if (IsRightCode())
{
  header("Content-disposition: attachment; filename=fname.exe");
}

Danke erstmal. Aber wie und wo soll ish das script einbaun?
 
Also du hast ein Formular z.B. in index.php, das auf "download.php" zeigt bzw. dahin abgeschickt wird.
HTML:
<form action="download.php" method="post">
  <input ...
Und in der "download.php" prüfst du, ob der Code richtig ist (hier IsRightCode()), wenn er richtig ist, dann soll die Datei zum Download erscheinen.
Jetzt ist die Frage, wie du die Datei speicherst bzw. identifizierst.
 
Zurück