Besucher Countdown

Hey, auch wenn ich Geld gut gebrauchen könnte, will ich es dir nicht wirklich so aus der Tasche ziehen, dafür dass ich mich mal ein paar Minuten hinsetze.

Allerdings muss ich dir sagen, dass ich einen Captcha für ziemlich übertrieben halte, bei einem Counter. Spontan kann ich dir aber auch keine Lösung vorsetzen. Es gibt einige Treffer, hier im Forum, wenn du mal nach Robots.txt suchst, besonders im PHP Bereich. Aber mich jetzt damit auseinanderzusetzen übersteigt dann leider doch meine Hilfsbereitschaft, da ich noch andere Dinge zu tun habe.

Aber letzendlich ist es egal, wie du es machst, wenn jemand den Counter manipulieren WILL, dann schafft er es auch... Sei es nun mit Proxies, Cookies löschen, neu ins I-Net einwählen, etc., etc.
Es gibt einfach zuviele Möglichkeiten, als dass man eine 100%ige Sicherheit erreicht.
 
Hi Flex.

Klar, wenn es jemand probiert, schafft er es auch.
Aber er müsste verdammt oft die IP wechseln (ob durch Router Neustart oder Proxy) die Cookies löschen und vorallem, da ist der Harken, den Code eingeben. Cookies löschen und neue IP kriegen ist ja kein Problem, das auch zu automatisieren, aber so ein Verify ist hard - sowas muss man manuell machen. Und dann bin ich zufrieden ;D

Also wenn du mir das noch machen könntest fände ich das klasse (leider ist mir selbst eine abfrage, ob cookies existieren schon zu kompliziert) und über Verify Codes müssen wir erst garnicht reden...

Code für CookieSet
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 Veirfy 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 :)

Btw: Auch wenn es wenig ist, ich würde dir gerne 5€ überweißen.

Quellen: Sicherheitscode by der-webdesigner.net | PHP Counter mit CookieSet by php-einfach

Edit:
robots.txt ist erstellt, da ich jetzt den Fachausdruck für die Sicherheitscodes hab konnte ich auch bei Google etwas finden, vieleicht krieg ich das selber hin mal gucken ;D
aber mit den cookies krieg ich nicht hin!
 
Zuletzt bearbeitet von einem Moderator:
Also ich hab jetzt schon zich Möglichkeiten versucht aber für einen blutigen Anfänger der PHP einfach nicht kann ist es eben zu hoch :( Sobald dieses Script 1x laufen würde, würde ich ja ruhe geben (hehe)..

Hab mal versucht andere Captchas zu wählen und dann wenn er ausgibt "Sicherheitscode richtig" den Script für den Counter einzufügen, aber dann gabs nur zich php fehler und ach ich kann es halt nicht!

Wäre toll wenn jmd. noch den letzen Schritt machen könnte .. :-/

Danke
 
Zurück