Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
11 / 11 / 7
Регистрация: 18.01.2014
Сообщений: 178
Записей в блоге: 1
1

Защита файлов

21.01.2015, 08:41. Просмотров 686. Ответов 7
Метки нет (Все метки)

В общем сделал админку для сайта, проверяю авторизован ли пользователь вот так:
PHP
1
2
3
if(isset($_SESSION['username'])) {
//тут код
}
в админке есть один основной файл, который инклудит все остальные, все работает прекрасно, НО, даже неавторизованный человек может открыть напрямую один из скриптов в админке, и собстна управлять сайтом, попробовал через .htaccess защитить, типо прямой доступ не давать, но мне нужно выпонять POST запросы на этот скрипт, поэтому блокнет и меня, попробовал проверять таким же образом авторизован ли человек в каждом из скриптов, если через основной файл инклудить - все норм, а если напрямую открыть... пусто... хоть я и авторизован... подскажите можно ли как нибудь защитить эти файлы

Добавлено через 8 минут
я кажется понял в чем дело... сессию запускаю только в основном файле, а в остальных не запускаю, поэтому и пустая страничка, но опять же если в каждом скрипте прописать
PHP
1
session_start();
то пойдут ошибки при инклуде через основной файл, только вот... наверно
PHP
1
@session_start();
поможет, ошибку просто не будет выводить и все как я понимаю, но тем не менее надеюсь сессия запустится если подобные ошибки есть? ошибки что запускаю сессии несколько раз
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2015, 08:41
Ответы с готовыми решениями:

Защита подключаемых файлов
Здравствуйте, гуру безопасности PHP скриптов :) При разработке сайтов я частенько пользуюсь...

Защита tpl файлов
Подскажите пожалуйста как защитить файлы шаблона от прямого вызова ?

Защита файлов от прямого обращения
Как защитить файлы, например как в дле, от прямого запроса. например если я напрямую обращусь...

Защита файлов
Я хочу в Delphi Borland 7 организовать функцию зашиты фалов к примеру HOSTS ( как например...

7
5 / 5 / 1
Регистрация: 15.11.2013
Сообщений: 99
21.01.2015, 08:59 2
а если я подменю сессию, и там будет задан параметр username - то я попадаю в админку ) лучше хранить не имя пользователя хотя бы md5(логин + пароль)

сессии можно вообще не стартовать в php.ini поставить session.auto_start =1 и можно забыть про session_start(); и сразу работать с $_SESSION
0
365 / 403 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
21.01.2015, 09:04 3
Цитата Сообщение от snikes Посмотреть сообщение
а если я подменю сессию,
Это как же ты подменишь сессию? Нет мне просто интересно, каким образом ты впиндюришь ['username'] в сессионный массив?
0
Модератор
1635 / 1302 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
21.01.2015, 09:47 4
Если ошибка
PHP
1
2
3
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\localhost\www\site.ru\index.php:9) in Z:\home\localhost\www\site.ru\index.php on line 10
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\localhost\www\site.ru\index.php:9) in Z:\home\localhost\www\site.ru\index.php on line 10
, то надо в php.ini директиву output_buffering поставить в "On"
0
Заблокирован
21.01.2015, 12:39 5
Закройте все вспомогательные (включаемые) скрипты от прямого доступа со стороны клиента и делайте авторизацию в точке входа в админку (т.е. в основном файле админки).
0
11 / 11 / 7
Регистрация: 18.01.2014
Сообщений: 178
Записей в блоге: 1
21.01.2015, 15:26  [ТС] 6
кароче, кажись я нашел выход... сделал так в каждом скрипте:
PHP
1
2
3
4
@session_start();
if(isset($_SESSION['username'])) {
//тут код
}
если открывать напрямую неавторизованному - пусто, авторизованному - все норм, и плевать что ошибка при инклуде скрывается)) главное все работает))
0
Модератор
1635 / 1302 / 639
Регистрация: 10.01.2015
Сообщений: 4,283
21.01.2015, 15:35 7
Цитата Сообщение от vip72 Посмотреть сообщение
@session_start();
А потом человек будет писать "собак" постоянно и ломать голову, не видя ошибок.
НЕЛЬЗЯ СКРЫВАТЬ ОШИБКИ!!!
0
7 / 7 / 0
Регистрация: 19.06.2014
Сообщений: 148
21.01.2015, 22:50 8
Может стоит запретить доступ к папке через .htaccess? И добавить только свой ip.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2015, 22:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Защита файлов
Приветствую! С каждым годом все больше работ сделанные мною выливаются в сеть в различные...

Защита файлов?
В операционной системе Windows XP есть скрытая папка dllcache объёмом более 400 МБ. Она содержит...

Защита файлов
Вечер добрый! Предыстория: есть несколько файлов. они заархивированы под паролем(каждый файл в...

Защита файлов
Есть программа, которая поверх всех окон, она не дает остальным программам работать, пока пароль не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.