У меня этот сценарий, и он выдает следующее сообщение об ошибке: 001 Контрольная сумма отказаКонтрольная сумма Failure
Это сценарий, я не знаю, что случилось с ним, не могли бы вы мне помочь?
<?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 [" checksum "]' и почему оно отличается от '739b54dc26'? Это может помочь только вам (или, возможно, поддержка TargetPay). Это не проблема программирования как таковая –