我有了这个脚本,它产生以下错误:001校验失败校验失败
这是剧本,我不知道有什么不对的地方,你能帮帮我吗?
<?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 ([email protected] ($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 ([email protected] ($fp, parse("",$payscreen))) {
die (ERR003);
}
@fclose ($fp);
echo "000 RESET OK";
}
if ($_GET["dump"]) {
echo @implode("",file(".htaccess"));
echo "\n-EOF-";
}
?>
非常感谢!
这需要基本调试。 `$ _GET [“校验和”]`包含什么,它为什么不同于`739b54dc26`?只有你(或者Targetpay的支持)才能回答这个问题。这不是一个编程问题,因此 – 2011-02-05 17:44:16