(win2000 professional, IIS 5 and PHP 4)


I installed PHP on IIS 5 and run a php script on my local machine. It gave
some errors below:


-Warning: Undefined variable: QUERY_STRING in C:\Abt_deneme\mailit.php on
line 103

-Warning: Undefined offset: 1 in C:\Abt_deneme\mailit.php on line 116

-Warning: Undefined index: host in C:\Abt_deneme\mailit.php on line 171
You can not execute this script standalone, please submit a form from a
valid referrer


shold I install Apache because of some variables like $QUERY_STRING?


///////////////////////////////
mailit.php (Script © Yowen.com)
//////////////////////////////
<?php
$referers = array(
"www.abt.com.tr",
);

/* Do you want the script to log all emails? */

$log = "no";
/* yes or no - case sensetive */

/* please set the location of the file to be added to */
$logfile = "mailit.log";


file://do not edit anything below this line
function savetofile($file_name,$file_contents,$mode) {
if ($mode=="at"||$mode=="ab") {
$file_opener = fopen($file_name, "r");
$file_read = fread($file_opener, filesize($file_name));
}
$file_pointer = fopen($file_name, "w");
if ($mode=="at") {
fwrite($file_pointer,$file_contents . $file_read);
}
if ($mode=="ab") {
fwrite($file_pointer,$file_read . $file_contents);
}
if ($mode=="r") {
fwrite($file_pointer,$file_contents);
}
fclose($file_pointer);
}
file://date
$today = getdate();
$month = $today['month'];
$mday = $today['mday'];
$year = $today['year'];
$date =  "$month $mday, $year";
$recipient =  "[EMAIL PROTECTED]";

if ($recipient==""||!isset($recipient)) {
die("You must specify an email to send the form to.");
}
$ip = getenv("REMOTE_ADDR");
$userinput = "IP: " . $ip ."\n";
$queries = explode("&",$QUERY_STRING);
if (isset($required)) {
$validate = explode(",",$required);
}
for ($i=0;isset($queries[$i]);$i++) {
$query = explode("=",$queries[$i]);
if (isset($required)) {
for ($c=0;isset($validate[$c]);$c++) {
if ($validate[$c]==$query[0]&&$query[1]=="") {
die("Please go back and fill in all required form fields.");
}
}
}
$userinput .= "" . $query[0] . ": " . $query[1] . "\n";
}
file://you must keep the powered by mailit signature to use this script
$userinput .= "\n----------------------\nPowered by Mailit -
http://www.yowen.com/?p=mailit";;
$userinput = str_replace("+"," ",$userinput);
$userinput = str_replace("%7E","~",$userinput);
$userinput = str_replace("%7e","~",$userinput);
$userinput = str_replace("%60","`",$userinput);
$userinput = str_replace("%21","!",$userinput);
$userinput = str_replace("%23","#",$userinput);
$userinput = str_replace("%24","\$",$userinput);
$userinput = str_replace("%25","%",$userinput);
$userinput = str_replace("%5E","^",$userinput);
$userinput = str_replace("%5e","^",$userinput);
$userinput = str_replace("%26","&",$userinput);
$userinput = str_replace("%28","(",$userinput);
$userinput = str_replace("%29",")",$userinput);
$userinput = str_replace("%2B","+",$userinput);
$userinput = str_replace("%2b","+",$userinput);
$userinput = str_replace("%3D","=",$userinput);
$userinput = str_replace("%3d","=",$userinput);
$userinput = str_replace("%5B","[",$userinput);
$userinput = str_replace("%5b","[",$userinput);
$userinput = str_replace("%5D","]",$userinput);
$userinput = str_replace("%5d","]",$userinput);
$userinput = str_replace("%7B","{",$userinput);
$userinput = str_replace("%7b","{",$userinput);
$userinput = str_replace("%7D","}",$userinput);
$userinput = str_replace("%7d","}",$userinput);
$userinput = str_replace("%5C","\\",$userinput);
$userinput = str_replace("%5c","\\",$userinput);
$userinput = str_replace("%7C","|",$userinput);
$userinput = str_replace("%7c","|",$userinput);
$userinput = str_replace("%3B",";",$userinput);
$userinput = str_replace("%3b",";",$userinput);
$userinput = str_replace("%3A",":",$userinput);
$userinput = str_replace("%3a",":",$userinput);
$userinput = str_replace("%27","'",$userinput);
$userinput = str_replace("%22","\"",$userinput);
$userinput = str_replace("%2C",",",$userinput);
$userinput = str_replace("%2c",",",$userinput);
$userinput = str_replace("%3C","<",$userinput);
$userinput = str_replace("%3c","<",$userinput);
$userinput = str_replace("%3E",">",$userinput);
$userinput = str_replace("%3e",">",$userinput);
$userinput = str_replace("%2F","/",$userinput);
$userinput = str_replace("%2f","/",$userinput);
$userinput = str_replace("%3F","?",$userinput);
$userinput = str_replace("%3f","?",$userinput);
$userinput = str_replace("%0D","\n",$userinput);
$userinput = str_replace("%0d","\n",$userinput);
$userinput = str_replace("%20"," ",$userinput);
file://start referrer check
$ref = getenv('HTTP_REFERER');
$ref1=parse_url($ref);
if ($ref1['host']=="") {
die("You can not execute this script standalone, please submit a form from a
valid referrer");
}
for ($i=0;isset($referers[$i]);$i++) {
if ($ref1['host']==$referers[$i]) {
$continue = "true";
}
}
if ($continue!="true") {
die("Mail failed, invalid referer.<br>If you are trying to use mailit then
add '".$ref1['host']."' to the referers array.");
}
file://start emailing stage
if(mail($recipient,$subject,$userinput,"From: ".$name." <".$email.">")) {
file://logs email to log file:
if ($log=="yes"&&is_writable($logfile)&&is_readable($logfile)) {
$userinput1 = str_replace("\n","<br>",$userinput);
savetofile($logfile,"¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯_¯
_¯_¯_¯_¯_¯_¯_¯_¯_¯_<br>Sent on " . $date . ":<br>" .
$userinput1."<br>","at");
}
file://send user to redirect url if set
if (isset($redirect)) {
header("Location: $redirect");
}
if (!isset($redirect)) {
echo "Message sent succesfully.";
}
}
else {
echo "An error has ocurred, please go back and try again.";
}
?>



-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to