Пътят до файла е правилен, но дава грешка.

topchokt

Registered
Добър вечер!
От вчера се видях в чудо. Проблемът е следния.
Имам страница security.php със следното съдържание, който инклудвам в страницата:
Код:
<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);

if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "log.txt";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Attack Date: $date | Attacker IP: $ip | QueryString: $loc?=$queryString\n");
fclose($log);
echo '
Atakata e zapisana

'; exit;
}
?>
Имам и файл log.txt с права за четене и запис. Проблемът е, че получавам следната грешка:


Warning: fopen(log.txt) [function.fopen]: failed to open stream: Permission denied in /users1/ivanovk/engine/security/security.php on line 15

Warning: fputs(): supplied argument is not a valid stream resource in /users1/ivanovk/engine/security/security.php on line 16

Warning: fclose(): supplied argument is not a valid stream resource in /users1/ivanovk/engine/security/security.php on line 17
Atakata e zapisana
Пътищата до файловете са правилни, опитвах като променях имената на файловете, но все без успех.
Някакви идеи къде е проблема?
 
Един съвет от мен!
Ползваш preg_match() и file_put_contents() и проверката ти става точно два реда, дори с log-ването
 
за да нямаш тоя проблем и проблем с sql инжекции, прочети малко за биндване на параметри
 

Back
Горе