Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение файла на сервере 
:(
    Опции темы
Plavozont
Дата 21.7.2010, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Решил сделать настроичный файл в папке со своим сайтом, и хотелось бы чтобы только я мог его читать. (Читаю я его php скриптом.)
php код в настроичном файле заключённый в <? ?> не читается, и то что печатается этим кодом тоже не прочитать, так что защитить его содержимое проверкой сессии не получится. Да и редактировать такой файл будет нереально.
Простой текст в файле читается, но если этот файл открыть по url в браузере его тоже можно приспокойно прочитать.
Как сделать чтобы он доступен был только из php. (редактировать через php мне тоже его нужно.)
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
ksnk
Дата 21.7.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Plavozont, заведи дополнительную "папку со своим сайтом" выше каталога public_html (или www или как там на сервере?) тогда снаружи никто не сможет добраться до файла. только посредством php..


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Plavozont
Дата 21.7.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



А если он будет в этой же папке то никак ?
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
IgorIV
Дата 21.7.2010, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Пример покажи, что у тебя не читается.
PM MAIL   Вверх
s0lman
Дата 21.7.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Как вариант Deny from all ?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Muerto
Дата 21.7.2010, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



СОхрани этот файл как .php и не выводи никаких данных, в чем проблема то?
А вставляй через include

Нужно редактировать через сайт? тогда опять же сохраняй как .php и инклудь

Это сообщение отредактировал(а) Muerto - 21.7.2010, 20:23


--------------------
user posted image
PM MAIL   Вверх
Plavozont
Дата 22.7.2010, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



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

Хотя по большому счёту если публика сможет файл прочитать - ничего страшного, главное чтоб отредактировать мог только php код, который выполняется только если авторизироваться.

Цитата

Пример покажи, что у тебя не читается. 


textfile.txt:
Hello World

php:code
$fs=filesize('textfile.txt');
$handle=fopen('textfile.txt', 'r');
$contents = fread($handle, $fs);
fclose($handle);
print $contents; //Hello World
/----------------------------------------/

textfile.txt:
<?
print 'Hello World';
?>

php:code
$fs=filesize('textfile.txt');
$handle=fopen('textfile.txt', 'r');
$contents = fread($handle, $fs);
fclose($handle);
print $contents; //...Пусто

Цитата

Как вариант Deny from all ?


Вариант чудесный был бы если можно было из php этот динай отменить отредактировать файл и тут же назад установить. А просто разрешить какому-то одному IP доступ к файлу не пойдёт, сайт тиражируется и администраторы меняются...

Цитата

СОхрани этот файл как .php и не выводи никаких данных, в чем проблема то?
А вставляй через include

Нужно редактировать через сайт? тогда опять же сохраняй как .php и инклудь


Было бы чудесно но как отредактировать php который ты заинклудил ???
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Just123
Дата 22.7.2010, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 9.12.2007
Где: localhost

Репутация: нет
Всего: нет



Может быть поможет что-то вроде этого?

Код

if (!defined("GUARD")) die("Go away!");



P.S. Не правильно сначало понял, извиняюсь.

Это сообщение отредактировал(а) Just123 - 22.7.2010, 09:56
PM MAIL   Вверх
IgorIV
Дата 22.7.2010, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Цитата(Plavozont @  22.7.2010,  10:43 Найти цитируемый пост)
сайт тиражируется и администраторы меняются...

о ф и г е т ь .... 


Цитата(Plavozont @  22.7.2010,  10:43 Найти цитируемый пост)
Смысл в том чтобы клиент не мог получить доступ к файлу на сервере,

Клиент в смысле покупатель скрипта? Или клиент как посетитель?



Это сообщение отредактировал(а) IgorIV - 22.7.2010, 16:26
PM MAIL   Вверх
overmet
Дата 22.7.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 15.8.2009
Где: Gomel

Репутация: -2
Всего: -2



Цитата

сайт тиражируется и администраторы меняются...

о ф и г е т ь .... 
 smile 
надо попробовать,
Код

db.linkfeed.ru/ыыы/ibigdanlove.tk/"любой текст"

а вдруг fread сработает, copy и curl не сработало smile 
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Plavozont
Дата 23.7.2010, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Цитата

Клиент в смысле покупатель скрипта? Или клиент как посетитель?


Клиент как javascript, как web-браузер, как любая клиентская программа, чтобы к файлу пролезть можно было только со стороны сервера и никак иначе.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Noviy
Дата 23.7.2010, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



По поводу javascript, можешь не переживать. Доступ к файлу блокирурй с помощью .htaccess, как подсказал s0lman.
PM MAIL ICQ   Вверх
bazzjr
Дата 23.7.2010, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



В таких случаях, когда меняются админы, создают в базе таблицу, в неё записывают IP админов и их права.

Далее определенный скрипт проверяет эти права админа, и перенаправляет на нужную страницу с нужными правами и возможностями.

Все эти проверки можно так же сделать с помощью mod_rewrite.
PM MAIL ICQ   Вверх
smartov
Дата 23.7.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Plavozont, у тебя какие-то непонятки. То ты говоришь что тебе надо запретить доступ с клиента. 
Тот ты говоришь
Цитата(Plavozont @  22.7.2010,  09:43 Найти цитируемый пост)
ведь кто угодно сможет написать свой php код и отредактировать мой файл

 И каким по-твоему образом его код попадёт к тебе на сервер?
Невозможно ответить на твой вопрос.

Запретить доступ к файлу можно многими способами, начиная от mod_rewrite и заканчивая игрой с правами на стороне сервера.
PM MAIL   Вверх
Plavozont
Дата 24.7.2010, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Цитата

И каким по-твоему образом его код попадёт к тебе на сервер?
...ведь кто угодно сможет написать свой php код

в смысле на своём сервере.
Цитата

...и отредактировать мой файл 

в смысле файл с настройками, на моём сервере.
Цитата

Запретить доступ к файлу можно многими способами


Оу, а можно как раз парочку таких примеров посмотреть, потому что я вапще в вопросах доступа не бум-бум, вот и полагаю наверно ошибочно что php-код на чьём-то сервере может что угодно сделать с файлом на моём сервере...

А вообще я делаю наверно глупость, но почему-то сделать её очень хочется. 
Я делаю приложение которое можно будет настраивать под разные задачи, типа CMS (Content Managment System). И идея такая что человек записывает к себе на сервер в папочку моё приложение (нулёвое) и открывает его в своём браузере. Вводит секретный администраторский логин с паролем, потом php смотрит существует или нет база данных под это приложение и если нет автоматом её создаёт, задав ей временное имя, которое в программу зашито, и таблицу с учётной записью администратора. Потом происходит переход в настроичную систему в которой первым делом предлагается задать имя базы данных чтобы переименовать временную базу в это имя. Тут и возникает интересный вопрос - как сохранить введённое имя базы данных ? В базе данных ведь его не сохранишь. Если сохранить его в файл, возникает загвоздка - файл у которого запрещено публичное редактирование php отказывается редактировать. Вот мне и нужно чтобы только человек который зашёл под администратором мог отредактировать этот файл и записать туда имя базы данных. Я согласен никакой проблемы нет зайти в исходник и вписать туда это имя, но почему бы не сделать это красивенько через интерфейс, если это возможно!

Это сообщение отредактировал(а) Plavozont - 24.7.2010, 09:09
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.