|
|
|
| нужно чтобы файл можно было выполнить только из другого файла командой
но так чтобы он невыполнялся если указана непосредственная ссылка на него. | |
|
|
|
|
|
|
|
для: Полный Чайник
(25.01.2006 в 19:06)
| | Мне кажется, что тут лучше так сделать:
$mode=ok
include "dir/file.php?mode=go"
|
Файл file.php
<?php
if($mode != "ok")
{
echo "Ошибка!";
exit();
}
?>
<!-- Содержимое файла -->
|
| |
|
|
|
|
|
|
|
для: Полный Чайник
(25.01.2006 в 19:06)
| | Самым надёжным вариантом, думаю, будет использование сессии. | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 19:54)
| | Вот я пока не силен в этом...Ну расскажите, как их применить в данном случае...=) | |
|
|
|
|
|
|
|
для: Unkind™
(25.01.2006 в 20:06)
| | parent_file.php
<?
session_start();
$_SESSION['opener_exists'] = 1;
header("Location: target_file.php");
?>
|
target_file.php
<?
session_start();
if(isset($_SESSION['opener_exists'])) {
unset($_SESSION['opener_exists']);
} else {
header("HTTP/1.0 403 Access Forbidden");
exit;
}
... // сам код скрипта
?>
|
| |
|
|
|
|
|
|
|
для: Unkind™
(25.01.2006 в 20:06)
| | В "Самоучителе PHP5" был такой пример
function gettime()
{
$part_time = explode(' ',microtime());
$real_time = $part_time[1].substr($part_time[0],1);
return $real_time;
}
$start_time = gettime();
$stop_time = gettime();
$time = bcsub($stop_time,$start_time,4); // Время выполнения скрипта
echo $time;
|
| |
|
|
|
|
|
|
|
для: Ziq
(25.01.2006 в 20:56)
| | Апшиплись дверью, ага ;-)) | |
|
|
|
|
|
|
|
для: Unkind™
(25.01.2006 в 20:06)
| | Я бы сделал так
<?
$secret=1;
include "file.php";
?>
|
file.php
<?
if($secret==1)
{
// Какой-то код
}
else
{
exit("Вы не имеете прав, для просмотра этого файла");
}
?>
|
| |
|
|
|
|
|
|
|
для: Ziq
(25.01.2006 в 20:57)
| | Извините, но в моем посту такой же код...Практически...У меня, вроде чуть лучше..=) | |
|
|
|
|
|
|
|
для: Unkind™
(25.01.2006 в 21:02)
| | Ну, если говорить о цветочках, то ваш код не имеет смысла, т.к. стоит только вызвать родительский файл с указанной строкой запроса ;-) | |
|
|
|
|
|
|
|
для: Ziq
(25.01.2006 в 20:57)
| | Только вместо перемнной использовать константу иначе при включённой директиве register_globals такую защиту можно легко обойти. | |
|
|
|
|
|
|
|
для: Полный Чайник
(25.01.2006 в 19:06)
| | А вообще, уважаемые, маимся мы тут с вами дурью ;-) Это делается методом создания файла .htaccess в директории со скрываемым файлом очень простого содержания:
<Files targetfile.php>
deny from all
</Files>
|
:) | |
|
|
|
|
|
|
|
для: DDK
(25.01.2006 в 21:05)
| | Я не силен в настройках .htaccess поэтому может вы скажете подробно как сделать такой файл в моей ситуации:
корневая директория:
index.php - доступ надо естественно разрешить
config.php - хотелось бы запретить :-)
menu.php - запуск только из index.php
директория \files - тут картинки и всякие файлы доступ надо разрешить
\css - доступ разрешен
\pages - доступ запрещен т.к. тут содержатся страницы вызываемые из index.php - корневой директории
\admin - там файлы:
index.php - разрешить
config.php - запретить
login.php - разрешить
\admin\pag - запретить доступ ко всем файлам все запускаются только из файла login.php | |
|
|
|
|
|
|
|
для: Полный Чайник
(26.01.2006 в 10:38)
| | Это просто. Откройте блокнот, вставьте код из мое предыдущего поста, заменив targetfile.php на имя защищаемого файла, и сохраните как файл без имени с расширением htaccess, т.е. имя у файла получится - .htacces (точкаhtaccess) . Потом просто положите этот файл в директорию, где у вас лежит файл, которые нужно защитить. | |
|
|
|