Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как защитить файл, который вызывается из JQuery?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Rooner
Отправлено: 25 Сентября, 2012 - 13:44:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Как защитить файл load_content.php от прямого доступа? Проблема в том, что он вызывается из JQuery скрипта. Например вот так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.     $(function(){
  2.                 $('#le_table').jqGrid({
  3.                   url:'../modules/jqgrid/load_content.php',
 
 Top
AlexAnder
Отправлено: 25 Сентября, 2012 - 13:52:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




можно попробовать в главном РНР-скрипте объявить константу, а в load_content.php проверить объявлена ли та самая константа Подмигивание


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
Rooner
Отправлено: 25 Сентября, 2012 - 13:59:39
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




AlexAnder, да, но не работает так Огорчение в .php скрипте константа не видна, из-за того что вызывается этот скрипт из JQuery
 
 Top
s-h-e-f-f
Отправлено: 25 Сентября, 2012 - 14:02:34
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Нояб. 2011  


Помог: 1 раз(а)




Пол года назад бился над такой проблемой, но к сожалению на форуме так и не помогли. Были варианты с базой данных, но мне показалось это слишком затратным.
http://forum.php.su/topic.php?fo...1&topic=5397
 
 Top
Rooner
Отправлено: 25 Сентября, 2012 - 14:09:24
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




s-h-e-f-f, нуууу в принципе сойдет, но хотелось бы более оптимальный вариант.
 
 Top
avtor.fox
Отправлено: 25 Сентября, 2012 - 14:16:54
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)





Вполне хватит что бы защитить файл. Но! Что такого в этом файле?
Нипаняяятна Улыбка
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Сентября, 2012 - 14:31:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Rooner пишет:
в .php скрипте константа не видна, из-за того что вызывается этот скрипт из JQuery
Если трусы на вас одела мама, это не значит что вы без трусов.
Rooner пишет:
Как защитить файл load_content.php от прямого доступа?
А он всегда прямой. От самых тупых рук "защититься" можно с помощью проверки на наличие заголовка X-Requested-With, аякс его всегда отправляет.
 
 Top
Rooner
Отправлено: 25 Сентября, 2012 - 14:49:16
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




DeepVarvar, разговоры ниачем, не можете подсказать - не подсказывайте
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Сентября, 2012 - 14:54:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Rooner, без проблем, если вы не поняли сути, дело ваше, дальше я молчу.
Спойлер (Отобразить)
 
 Top
avtor.fox
Отправлено: 25 Сентября, 2012 - 14:57:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




DeepVarvar пишет:
аякс его всегда отправляет.
 
 Top
SAD
Отправлено: 25 Сентября, 2012 - 14:58:21
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




короче DeepVarvar, хотел сказать вот, что


PHP:
скопировать код в буфер обмена
  1. if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
  2.  {
  3.     // Если запрос послан с xmlhttprequest, то есть это ajax запрос
  4.     echo 'Определен ajax запрос!';
  5.     exit;
  6. }


=)
 
 Top
Rooner
Отправлено: 25 Сентября, 2012 - 15:05:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




avtor.fox, s-h-e-f-f дал ссылку, где написано, что использование X-Requested-With не безопасно, а DeepVarvar предложил этот же метод и еще попытался затролить, и продолжил это занятие, ну чтож Бог в помощь, если человеку заняться нечем. На что я ответил, что мне такие подсказчики не нужны. Просто объяснил Язычок
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Сентября, 2012 - 15:05:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Файл load_content.php для всех пользователей, или только для зарегистрированных ?
 
 Top
Rooner
Отправлено: 25 Сентября, 2012 - 15:11:54
Post Id


Посетитель


Покинул форум
Сообщений всего: 291
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




armancho7777777, load_content.php нужно разрешить только для зарегистрированных, в принципе через сессию делается...
 
 Top
armancho7777777 Супермодератор
Отправлено: 25 Сентября, 2012 - 15:21:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Rooner пишет:
нужно разрешить только для зарегистрированных

Ну так проверяйте в этом файле залогинен пользователь, или нет.
В чём проблема ?)
Если не хотите показывать ему на прямую, то сессия.
В файле, в котором подключен js, устанавливаем сессионну переменную с уникальным значение

Это же значение передаём через скрытое поле ajax-ом в файл load_content.php в котором сравниваем с сессионой переменной.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB