|
|
|
| Вот такая проблема! Есть файлы с расширением *pl, как можно их защетить чтоб они не отображались в браузере и их нельзя было скачать!!! Так как там хранятся имена и пароли юзеров!!! Возможно расширение на какое-то другое поменять надо??? Я понимаю что *pl не должен отображаться в браузере!! И на моей машине он не отображается а вот на сервере гдележит мой сайт они отображаются! И штацес там не работает!!! | |
|
|
|
|
|
|
|
для: m@rchello
(28.12.2005 в 07:35)
| | Т.е., вы не имеете доступа к .htaccess ? | |
|
|
|
|
|
|
|
для: Shorr Kan
(28.12.2005 в 08:29)
| | он и не заработает, пока вы его не сделаете самостоятельно. | |
|
|
|
|
|
|
|
для: LimP
(28.12.2005 в 09:12)
| | ищите в темах на форуме, как ставить htaccess своими руками | |
|
|
|
|
|
|
|
для: LimP
(28.12.2005 в 09:13)
| | НА серваке просто запрещён htaccess!!! | |
|
|
|
|
|
|
|
для: m@rchello
(28.12.2005 в 11:40)
| | Если расширение pl не указано как исполняемое PHP в настройках сервера, тогда никак вы не защитите файлы. А так можно пароль вшить в эти файлы, чтобы доступ по паролю был и при включении их в другие, этот пароль указывать, а из вне открытие приведет к редиректу на другую страницу.
ИМХО по другому никак наверное. | |
|
|
|
|
|
|
|
для: m@rchello
(28.12.2005 в 11:40)
| | Если бы был разрешёт .htaccess можно было бы воспользоваться следующим решением
<Files "*.pl">
deny from all
</Files>
|
но без него это будет практически невозможно сделать... ведь такого рода защита лежит на плечах Web-сервера. | |
|
|
|
|
|
|
|
для: cheops
(28.12.2005 в 13:45)
| | Тогда такой вариант - .php , и не забывать на первой и последней строках -
<?/*и */?>.
То есть, если в одном файле - хранится пароль одного человека... а файл называется - по логину этого человека, то человек, имеющий логин qwerty , и пароль asdasd - будет записан в файле qwerty.php , а его содержимое:
и тогда:
<?function check(){
if(file_exists("passwords/".$_POST['login'].".php")){
$file=file("passwords/".$_POST['login'].".php");
$password=trim($file[1]);
if($password==$_POST[password]){return true;}else{return false;}
}else{return false;}
}//function
?>
|
Второй вариант:
Тогда:
<?function check(){
if(file_exists("passwords/".$_POST['login'].".php")){
$password=file_get_contents("passwords/".$_POST['login'].".php");
$password=str_replace("<?/*","",str_replace("/*?>","",$password));
if($password==$_POST[password]){return true;}else{return false;}
}else{return false;}
}//function
?>
|
Я бы посоветовал второй вариант. Предварительно, недурно бы срезать точки и слэши в паролях. | |
|
|
|
|
|
|
|
для: Shorr Kan
(28.12.2005 в 13:51)
| | но у меня пароли всех юзеров хранятся в одном файле!!! | |
|
|
|
|
|
|
|
для: m@rchello
(28.12.2005 в 15:22)
| | Еще проще... тогда храните их так:
<?
$login[]="login";$pass[]="pass";
$login[]="login1";$pass[]="pass1";
$login[]="login2";$pass[]="pass2";
?>
|
Потом функцией array_search - вы найдете соответствие и номер ключа. Тогда вообще никаких проблем. | |
|
|
|
|
|
|
|
для: Shorr Kan
(28.12.2005 в 16:32)
| | Можно еще упростить:)
<?
$login["login"]="pass";
$login["login1"]="pass1";
$login["login2"]="pass2";
?>
|
Тогда получится
<?
if ($login[$_POST['login']]==$_POST['pass'])
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(28.12.2005 в 17:20)
| | А в таком случае надо осуществлять проверку на наличие $login[$_POST['login']] или в случае отсутствия элемента с подобным ключиком - он просто отфальсирует нас подальше? | |
|
|
|
|
|
|
|
для: Shorr Kan
(28.12.2005 в 16:32)
| | >Еще проще... тогда храните их так:
>
><?
>$login[]="login";$pass[]="pass";
>$login[]="login1";$pass[]="pass1";
>$login[]="login2";$pass[]="pass2";
>?>
>
|
>
>Потом функцией array_search - вы найдете соответствие и
>номер ключа. Тогда вообще никаких проблем.
Вот этот вариант мне больше подходит!!! Покрайней мере он мне просто больше понятен!! Спасяб!!! :-) | |
|
|
|