I’ve got this script and it produces the following error: 001 Checksum failure
This is the script, I don’t know what’s wrong with it, could you help me?
<?php
/*
Access control for TargetPay Pay per Use
(C) TargetMedia 2007
Upload this file in the protected directory and make sure
that .htaccess support is enabled.
MODIFICATIONS IN THIS CODE ARE ALLOWED BUT NOT SUPPORTED
Product-ID: 28717 Generated: 16-01-2011 14:57:05
*/
define ("CHECKSUM", "739b54dc26");
define ("ERR001", "001 Checksum failure");
define ("ERR002", "002 Can't open .htaccess for writing. Check rights.");
define ("ERR003", "003 I/O Error, cannot write to .htaccess. Disk full?");
list($thispage) = explode("?",
"http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
$payscreen = "http://www.targetpay.nl/send/?id=28717&rtlo=51090".
"&pm=".urlencode("inline=1").
"&ref=".urlencode($thispage);
header ("Content-type: text/plain");
if ($_GET["checksum"] != CHECKSUM) {
die (ERR001);
}
function ip2hex ($ip) {
list ($a,$b,$c,$d) = explode(".", $ip);
return str_pad(dechex($a),2,"0",STR_PAD_LEFT).
str_pad(dechex($b),2,"0",STR_PAD_LEFT).
str_pad(dechex($c),2,"0",STR_PAD_LEFT).
str_pad(dechex($d),2,"0",STR_PAD_LEFT);
}
function hex2ip ($hex) {
return hexdec(substr($hex,0,2)).".".
hexdec(substr($hex,2,2)).".".
hexdec(substr($hex,4,2)).".".
hexdec(substr($hex,6,2));
}
function parse ($whitelist, $payscreen) {
$here = substr($_SERVER["SCRIPT_FILENAME"],
strrpos ($_SERVER["SCRIPT_FILENAME"], "/") + 1);
$o = "ErrorDocument 403 $payscreen\n".
"<Files .htaccess>\n".
"Order allow,deny\n".
"Deny from all\n".
"</Files>\n".
"<Files $here>\n".
"Order allow,deny\n".
"Allow from all\n".
"</Files>\n".
"Order deny,allow\n".
"Deny from all\n";
if ((!$whitelist) || ($whitelist=="empty")) {
return $o; }
$iplist = explode(",", $whitelist);
foreach ($iplist as $hex) {
$ip = hex2ip ($hex);
if ($ip) {
$o .= "Allow from $ip\n";
}
}
return $o;
}
if ($_GET["register"]) {
$fp = @fopen(".htaccess", "w+");
if (!$fp) {
die (ERR002);
}
if (!@fwrite ($fp, parse($_GET["register"],$payscreen))) {
die (ERR003);
}
@fclose ($fp);
echo "000 OK";
}
if ($_GET["reset"]) {
@unlink (".htaccess");
$fp = @fopen(".htaccess", "w+");
if (!$fp) {
die (ERR002);
}
if (!@fwrite ($fp, parse("",$payscreen))) {
die (ERR003);
}
@fclose ($fp);
echo "000 RESET OK";
}
if ($_GET["dump"]) {
echo @implode("",file(".htaccess"));
echo "\n-EOF-";
}
?>
Many thanks!
i dont think its an error. actually
this condition is getting true, so the output not error.
so just check the GET data from wherever you are getting it initially.Its not a programmatic error for sure.