Checksum Failure [closed]
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 U开发者_如何学JAVAse
(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
if($_GET["checksum"] != CHECKSUM) {
die (ERR001);
}
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.
you need to invoke the script via GET with, at least, this parameter:
checksum=739b54dc26
so if your page is test.php, on localhost, call it this way (you may add other parameters to the request string of course):
http://localhost/test.php?checksum=739b54dc26
Hope it helps
精彩评论