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 :: защита двух связанных файлов

 PHP.SU

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


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

> Без описания
Lolya
Отправлено: 06 Февраля, 2020 - 14:18:25
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018  


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




Есть такая функция, позволяющая связать два файла вместе, если открыть другой, то выбьет ошибку. Это в теории. На практике у меня почему-то все время ошибка выскакивает. Что не так я делаю?
Два файла у меня, один главный - userdetails.php
второй, который подтягивается через главный - user_details.php

Соответственно я ставлю в файле userdetails.php код:

а в файле user_details.php вот этот код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (! defined ( 'READFILE' )){exit ( "Error, wrong way to file.<br><a href=\"/\">Go to main</a>." );}


Но при открытии файла userdetails.php у меня теперь в нем пишет - Error, wrong way to file

Что я не так делаю? Спасибо за помощь. Закатив глазки

P.S. связка у меня через табы, по типу аякса.

(Отредактировано автором: 06 Февраля, 2020 - 14:38:59)

 
 Top
Строитель Модератор
Отправлено: 06 Февраля, 2020 - 14:46:01
Post Id



Участник


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


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




Lolya, воспроизвёл код:

userdetails.php
Спойлер (Отобразить)


user_details.php
Спойлер (Отобразить)
Всё корректно - при попытке открыть файл user_details.php получаю "Error, wrong way to file."; а при обращении к userdetails.php получаю номер строки.
 
 Top
LIME
Отправлено: 06 Февраля, 2020 - 15:01:46
Post Id


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


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


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




Строитель ооой боюсь там все плохо
Lolya пишет:
связка у меня через табы, по типу аякса.
то есть обращение к ним происходит в разных http запросах
 
 Top
Lolya
Отправлено: 06 Февраля, 2020 - 15:10:45
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018  


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




Дам код, чтобы понятно было о чем я речь веду.

принцип создания 2-х страниц на табах. details.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?begin_frame(".:: Подробности ::.");?>
  2. <div class="AllContent">
  3. <div class="SmoothTopLine"><div class="SmoothTopLeft"><div class="SmoothTopRight"></div></div></div>
  4. <div class="Content"><div class="ContentLeft"><div class="ContentRight">
  5. <div class="TextInside"><div class="NewIn"><div id="left" class="Inside"><div id='bxm-error'></div>
  6. <div id='bxm-content'>
  7. <script type="text/javascript">var lang_click_here='нажмите сюда';$(function(){$("#tabs").tabs({ajaxOptions:{error: function(xhr, status, index, anchor){$(anchor.hash).html("Не удалось загрузить эту вкладку. Мы постараемся исправить как можно скорее.");}},collapsible:true, cache:true, fx:{opacity:'toggle'}});});</script>
  8. <div id="tabs">
  9. <ul><li><a href="details_id.php?id=<?=$id?>&info=info">Информация</a></li>
  10. <li><a href="details_id.php?id=<?=$id?>&info=info2">Статистика</a></li></ul>
  11. </div>
  12. </div>
  13. </div></div></div>
  14. </div></div></div>
  15. </div><?end_frame();?>


страничка details_id.php:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?$id = intval($_GET["id"]);
  2. if($_GET["info"] == "info"){?><table width="100%" style='border:0;' cellspacing="0" cellpadding="5" width="100%"><?
  3. print("<tr style='border:0;'><td align='center' style='border:0;'>Инфо-текст или код любой</td></tr>");?></table><?}
  4. if($_GET["info"] == "info2"){?><table width="100%" style='border:0;' cellspacing="0" cellpadding="5" width="100%"><?
  5. print("<tr style='border:0;'><td align='center' style='border:0;'>Инфо-текст или код любой для вкладки Статистика</td></tr>");?></table><?}?>
 
 Top
Строитель Модератор
Отправлено: 06 Февраля, 2020 - 15:27:46
Post Id



Участник


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


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




LIME пишет:
Строитель ооой боюсь там все плохо
И действительно Радость
(Добавление)
Lolya, код из последнего вашего поста как-то связан с вашим вопросом? Я лично не смог разглядеть работу с константами... Не понял
 
 Top
Lolya
Отправлено: 06 Февраля, 2020 - 16:04:13
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Май 2018  


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




Строитель пишет:

Lolya, код из последнего вашего поста как-то связан с вашим вопросом? Я лично не смог разглядеть работу с константами... Не понял


Да, я страницу юзера на две разделила, так меньше запросов бьет. В табах информация о юзере пишется, под ИД=***
То-есть, связка страниц по ИД идет, ну и по ссылке что в коде. Так вот, если ссылку открыть так: details_id.php?id=4&info=info2
то покажется информация о юзере с ИД=4, которая должна подгружаться именно на странице details.php. Вот и хотелось этим кодом закрыть просмотр тем, кто хочет посмотреть минуя основную страницу.
 
 Top
miketomlin
Отправлено: 08 Февраля, 2020 - 15:29:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016  


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




Lolya, показанную «защиту» при помощи константы сейчас редко кто использует. Выносите все php-файлы, не являющиеся точками входа, за пределы корня сайта.

А попытка таким образом защититься от неAJAX-запросов сразу показывает полное непонимание вами осн. принципов клиент-серверного взаимодействия. Можно спокойно не защищаться, если нет цели защититься именно от «парсинга ботами». Но если оч. хоЦА, при выполнении запроса отправляете какой-нить специфический заголовок, а в обработчике проверяйте его наличие. Используйте крос-доменную защиту и т.п.
 
 Top
LIME
Отправлено: 08 Февраля, 2020 - 15:34:27
Post Id


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


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


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




miketomlin капитан
Ясно же что тс полный новичок
Хотелось бы помочь, но это невозможно в формате форума и ответа на поставленный вопрос.
А в принципе верно. Не могу не согласиться с аргументами, но ответ мало полезен в контексте.
(Добавление)
miketomlin пишет:
сейчас редко кто использует
правильнее сказать что бредятина полнейшая
Но...для первого опыта можно с таким поиграть
 
 Top
miketomlin
Отправлено: 08 Февраля, 2020 - 15:39:31
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Июль 2016  


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




LIME, ну, написали бы не только «все плохо», а указали, почему.

Я этого не увидел (может, плохо смотрел).
 
 Top
LIME
Отправлено: 08 Февраля, 2020 - 15:45:33
Post Id


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


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


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




miketomlin имелось ввиду что тс делает отдельные http запросы к разным файлам и ожидает что они магически знают друг о друге
классическая ошибка новичка в непонимании отдельных процессов
не факт что я прав
просто утомительно расспрашивать тс о подробностях и оставлю это для других менее "уставших от подобных вопросов" участников форума так как это дело на большой флейм
плавали...пробовали объяснить
утомительно
LIME пишет:
но это невозможно в формате форума и ответа
дело не одного ответа
LIME пишет:
Не могу не согласиться с аргументами
ты явно можешь помочь если вступишь в переписку в этом флейме
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB