Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Запрет прямого доступа к файлу

Сообщения:  [1-10]   [11-18] 

 
 автор: valenok   (12.07.2006 в 16:27)   письмо автору
 
   для: Владимир22   (12.07.2006 в 13:57)
 

Пользователь уже получил страницу..

[поправлено модератором]

   
 
 автор: Владимир22   (12.07.2006 в 13:57)   письмо автору
 
   для: valenok   (12.07.2006 в 12:37)
 

Это можно сделать так. Надо фрейм как-то назвать, например

<iframe name="demo">

А потом в него вставить скрипт:

<Script>
if (window.name != 'demo') { 
window.close();
}
</Script>

Скрипт желательно вывести в отдельный файл.
Т.о. любые попытки открыть страницу в любом другом окне , приводят к закрытию этих окон. Или можно перенаправлять на другие страницы.

   
 
 автор: valenok   (12.07.2006 в 12:37)   письмо автору
 
   для: ZooM (ССС)   (12.07.2006 в 10:51)
 

А.пхп
--
<FRAMESET >
<frame src='b.php'>
</frameset>

б.пхп
--
<? echo $_SERVER['HTTP_REFERER']; // Выдал: http://tmp/a.php

   
 
 автор: ZooM (ССС)   (12.07.2006 в 10:51)   письмо автору
 
   для: valenok   (11.07.2006 в 17:49)
 

приведи сожержимое обоих страниц. может у тебя там как то вымужрено сделано.

   
 
 автор: valenok   (11.07.2006 в 17:49)   письмо автору
 
   для: ZooM (ССС)   (11.07.2006 в 17:43)
 

У меня по фреймам http_referer отработал по нормальному.

   
 
 автор: ZooM (ССС)   (11.07.2006 в 17:43)   письмо автору
 
   для: valenok   (11.07.2006 в 15:07)
 

это конает если пользователь пришел с какой нить страницы, а если он пошел на фреймовую страницу прямо с index.php
то тогда отобразиться.
---
на счет защиты. это мне просто так было интересно на своем сайте я фреймы внедрять не собираюсь.

   
 
 автор: valenok   (11.07.2006 в 15:07)   письмо автору
 
   для: ZooM (ССС)   (11.07.2006 в 13:46)
 

Помогло вот это: echo $_SERVER['HTTP_REFERER'];
По нему и проверяйте..

   
 
 автор: valenok   (11.07.2006 в 15:06)   письмо автору
 
   для: Trianon   (11.07.2006 в 13:03)
 

Прав. Чёт я забыл что второй скрипт исполняется когда первый уже заканчивается..

   
 
 автор: valenok   (11.07.2006 в 14:36)   письмо автору
 
   для: Trianon   (11.07.2006 в 13:03)
 

Поэтому в конце выполнения удаляем сессию..

   
 
 автор: Jura   (11.07.2006 в 14:07)   письмо автору
 
   для: ZooM (ССС)   (11.07.2006 в 13:46)
 

Извини уважаемый ZooM, но если хочешь сделать хороший сайт с хорошей защитой, то сразу забудь про js
Во-первых, код открытый, зашифровать не удастся, так как дешифровщик придется в него же пихать.
во-вторых, алгоритмы получения ссылок доступны невооружонным взглядом.
в-третьих, весь доступ надо обрабатывать через скрипт системы безопасности.

К примеру, концепция такой системы:
1. База данных со списком всех файлов в каталогах сайта
2. Скрипт который проверяет наличие файла в этом списке и права на прямое использование ФАЙЛА.
Если этот скрипт находит файл в базе и к нему разрешен доступ, то он берет и подклюбчает его через абсолютный include, иначе либо вывод сообщения об ошибке и высвечивание главной или предыдущей страницы, откуда пользователь пришел.

3. С mod_rewrite делается полный редирект на скрипт проверки. Хоть и получится поголовная цикличность, но зато надежнее.

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования