G
greendog
Hi!
Ich möchte diesen Code
mit folgenden Codes verbinden.
1) Soll der User ein Captcha eingeben (Bestätigunsbildchen)
Sollte das richtig sein, sollte noch eine
2) Cookie Sperre eingebaut sein, die für 4 Stunden gültig erst...
wenn der Cookie nicht vorhanden ist und das Captcha richtig ist, erst dann soll das oben geannte Script ausgeführt werden.
Hier mal die 2 Codesschnipsel die mit dem oben genanten Script zusammen kommen sollen.
Code für CookieSet (4 Stunden gültig)
Anwendung (in Zusammenhang mit einem einfachen Counter
Code für Verify Images
MySQL Eintrag
config.php
Ausgabe der Bilder
rand.php
Prüfung ob Verify Code richtig
Hoffe das hilft dir ein bisschen
Vielen Dank! Ich hoffe das es für Profis, und davon gibt es hier ja viele
, kein problem ist, dass kostenlos zu machen... wäre toll da ich nur Schüler bin :-/
Danke im Voraus
Ich möchte diesen Code
Code:
<?php
$count = "./count.txt";
$pass = "./pass.txt";
$steps = 2000;
require_once("./iplock.php");
$check = new ip_check();
$cc = explode("|", file_get_contents($count));
if($check->ip_pruefen()) {
$fp = fopen($count, "w");
$cc[0]++;
echo $cc[0]."<br/>";
if($cc[0] == $cc[1]) {
$password = md5(microtime());
echo "Glückwunsch, Sie sind der ".$cc[0].". Besucher!<br/>Bitte melden Sie sich mit diesem Passwort per Mail an: bla@bla.bla<br/>
Pass: ".$password;
$cc[1] = $cc[1] + $steps;
$rc = fopen($pass, "a");
$entry = $_SERVER['REMOTE_ADDR']."|".$cc[0]."|".date('l, d. F Y')."|".$password;
if(!fwrite($rc, $entry)) echo "Error while writing Password File!";
} else echo $cc[1] - $cc[0]." Hits bis zum nächsten Hit!";
$cont = $cc[0]."|".$cc[1];
if(!fwrite($fp, $cont)) {
echo "Error while Updating Counter.";
}
} else {
echo $cc[0]."<br/>";
echo $cc[1] - $cc[0]." Hits bis zum nächsten Hit!";
}
?>
mit folgenden Codes verbinden.
1) Soll der User ein Captcha eingeben (Bestätigunsbildchen)
Sollte das richtig sein, sollte noch eine
2) Cookie Sperre eingebaut sein, die für 4 Stunden gültig erst...
wenn der Cookie nicht vorhanden ist und das Captcha richtig ist, erst dann soll das oben geannte Script ausgeführt werden.
Hier mal die 2 Codesschnipsel die mit dem oben genanten Script zusammen kommen sollen.
Code für CookieSet (4 Stunden gültig)
Code:
<?php
session_set_cookie_params(14400);
session_start();
?>
Anwendung (in Zusammenhang mit einem einfachen Counter
Code:
<?php
$datei = fopen("counter.txt","r+");
$counterstand = fgets($datei, 10);
if($counterstand == "")
{
$counterstand = 0;
}
if(!session_is_registered('counter_ip'))
{
$counterstand++;
rewind($datei);
fwrite($datei, $counterstand);
session_register('counter_ip');
}
echo $counterstand;
fclose($datei);
?>
Code für Verify Images
MySQL Eintrag
Code:
CREATE TABLE `img` (
`code` char(3) NOT NULL default '',
`verify` varchar(6) NOT NULL default ''
) TYPE=MyISAM;
config.php
Code:
<?
$host = "localhost"; // MySQL-Host eintragen
$user = "root"; // MySQL-Benuztername eintragen
$pass = ""; // MySQL-Passwort eintragen
$database = "data"; // MySQL-Datenbank eintragen
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);
?>
Ausgabe der Bilder
Code:
<?
include("config.php");
function random_string($chars = 6)
{
$s = uniqid(mt_rand(), true);
$s = sha1($s);
$s = substr($s, mt_rand(0, 40-$chars), $chars);
return $s;
}
$verify = random_string(6);
$zahl = rand(1,9).rand(1,9).rand(1,9);
mysql_query("INSERT INTO `img` VALUES ('$zahl','$verify')");
print '
<img src="rand.php?a='.$verify.'" border="0" alt="Bitte abtippen!">
<input type="text" name="code" />
<input type="hidden" name="verify" value="'.$verify.'" />
';
?>
rand.php
Code:
<?
$a = $_GET['a'];
include("config.php");
$s = mysql_query("SELECT * FROM `img` WHERE `verify` = '$a'");
$code = mysql_fetch_assoc($s);
$zahl = $code['code'];
header("Content-type: image/png");
$image = imagecreate(70, 25);
$red = imagecolorallocate($image, 255,0,0);
$blue = imagecolorallocate($image, 0,0,255);
$green = imagecolorallocate($image, 0,255,0);
imageline($image, 0, 0, 70, 25, $green);
imageline($image, 70, 0, 0, 25, $blue);
imageline($image, 70, 12, 0, 12, $green);
imagestring($image, 10, 22, 5, "$zahl", $blue);
imagepng($image);
?>
Prüfung ob Verify Code richtig
Code:
<?
include("config.php");
$code = $_POST['code'];
$verify = $_POST['verify'];
$s = mysql_query("SELECT * FROM `img` WHERE `verify` = '$verify'");
$fetch = mysql_fetch_assoc($s);
If ($fetch['code'] != $code) {
print("Sie haben den Sicherheitscode falsch abgetippt!");
mysql_query("DELETE FROM `img` WHERE `verify` = '$verify'");
die("");
} Else {
mysql_query("DELETE FROM `img` WHERE `verify` = '$verify'");
}
?>
Hoffe das hilft dir ein bisschen

Vielen Dank! Ich hoffe das es für Profis, und davon gibt es hier ja viele

Danke im Voraus