![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Plavozont, заведи дополнительную "папку со своим сайтом" выше каталога public_html (или www или как там на сервере?) тогда снаружи никто не сможет добраться до файла. только посредством php..
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
А если он будет в этой же папке то никак ?
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
Пример покажи, что у тебя не читается.
|
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Как вариант Deny from all ?
-------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| Muerto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1207 Регистрация: 23.9.2006 Репутация: 3 Всего: 4 |
СОхрани этот файл как .php и не выводи никаких данных, в чем проблема то?
А вставляй через include Нужно редактировать через сайт? тогда опять же сохраняй как .php и инклудь Это сообщение отредактировал(а) Muerto - 21.7.2010, 20:23 |
|||
|
||||
| Plavozont |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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; //...Пусто
Вариант чудесный был бы если можно было из php этот динай отменить отредактировать файл и тут же назад установить. А просто разрешить какому-то одному IP доступ к файлу не пойдёт, сайт тиражируется и администраторы меняются...
Было бы чудесно но как отредактировать php который ты заинклудил ??? --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
||||||
|
|||||||
| Just123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 9.12.2007 Где: localhost Репутация: нет Всего: нет |
Может быть поможет что-то вроде этого?
P.S. Не правильно сначало понял, извиняюсь. Это сообщение отредактировал(а) Just123 - 22.7.2010, 09:56 |
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: 2 Всего: 8 |
||||
|
||||
| overmet |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 15.8.2009 Где: Gomel Репутация: -2 Всего: -2 |
надо попробовать,
а вдруг fread сработает, copy и curl не сработало |
||||
|
|||||
| Plavozont |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
Клиент как javascript, как web-браузер, как любая клиентская программа, чтобы к файлу пролезть можно было только со стороны сервера и никак иначе. --------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity. |
|||
|
||||
| Noviy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
По поводу javascript, можешь не переживать. Доступ к файлу блокирурй с помощью .htaccess, как подсказал s0lman.
|
|||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
В таких случаях, когда меняются админы, создают в базе таблицу, в неё записывают IP админов и их права.
Далее определенный скрипт проверяет эти права админа, и перенаправляет на нужную страницу с нужными правами и возможностями. Все эти проверки можно так же сделать с помощью mod_rewrite. |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Plavozont, у тебя какие-то непонятки. То ты говоришь что тебе надо запретить доступ с клиента.
Тот ты говоришь
И каким по-твоему образом его код попадёт к тебе на сервер? Невозможно ответить на твой вопрос. Запретить доступ к файлу можно многими способами, начиная от mod_rewrite и заканчивая игрой с правами на стороне сервера. |
|||
|
||||
| Plavozont |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 182 Регистрация: 14.4.2008 Репутация: нет Всего: нет |
в смысле на своём сервере.
в смысле файл с настройками, на моём сервере.
Оу, а можно как раз парочку таких примеров посмотреть, потому что я вапще в вопросах доступа не бум-бум, вот и полагаю наверно ошибочно что 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. |
||||||
|
|||||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |