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
Форумы портала PHP.SU :: Версия для печати :: защита двух связанных файлов
Форумы портала PHP.SU » » Вопросы новичков » защита двух связанных файлов

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

1. Lolya - 06 Февраля, 2020 - 14:18:25 - перейти к сообщению
Есть такая функция, позволяющая связать два файла вместе, если открыть другой, то выбьет ошибку. Это в теории. На практике у меня почему-то все время ошибка выскакивает. Что не так я делаю?
Два файла у меня, один главный - 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. связка у меня через табы, по типу аякса.
2. Строитель - 06 Февраля, 2020 - 14:46:01 - перейти к сообщению
Lolya, воспроизвёл код:

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


user_details.php
Спойлер (Отобразить)
Всё корректно - при попытке открыть файл user_details.php получаю "Error, wrong way to file."; а при обращении к userdetails.php получаю номер строки.
3. LIME - 06 Февраля, 2020 - 15:01:46 - перейти к сообщению
Строитель ооой боюсь там все плохо
Lolya пишет:
связка у меня через табы, по типу аякса.
то есть обращение к ним происходит в разных http запросах
4. Lolya - 06 Февраля, 2020 - 15:10:45 - перейти к сообщению
Дам код, чтобы понятно было о чем я речь веду.

принцип создания 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><?}?>
5. Строитель - 06 Февраля, 2020 - 15:27:46 - перейти к сообщению
LIME пишет:
Строитель ооой боюсь там все плохо
И действительно Радость
(Добавление)
Lolya, код из последнего вашего поста как-то связан с вашим вопросом? Я лично не смог разглядеть работу с константами... Не понял
6. Lolya - 06 Февраля, 2020 - 16:04:13 - перейти к сообщению
Строитель пишет:

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


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

А попытка таким образом защититься от неAJAX-запросов сразу показывает полное непонимание вами осн. принципов клиент-серверного взаимодействия. Можно спокойно не защищаться, если нет цели защититься именно от «парсинга ботами». Но если оч. хоЦА, при выполнении запроса отправляете какой-нить специфический заголовок, а в обработчике проверяйте его наличие. Используйте крос-доменную защиту и т.п.
8. LIME - 08 Февраля, 2020 - 15:34:27 - перейти к сообщению
miketomlin капитан
Ясно же что тс полный новичок
Хотелось бы помочь, но это невозможно в формате форума и ответа на поставленный вопрос.
А в принципе верно. Не могу не согласиться с аргументами, но ответ мало полезен в контексте.
(Добавление)
miketomlin пишет:
сейчас редко кто использует
правильнее сказать что бредятина полнейшая
Но...для первого опыта можно с таким поиграть
9. miketomlin - 08 Февраля, 2020 - 15:39:31 - перейти к сообщению
LIME, ну, написали бы не только «все плохо», а указали, почему.

Я этого не увидел (может, плохо смотрел).
10. LIME - 08 Февраля, 2020 - 15:45:33 - перейти к сообщению
miketomlin имелось ввиду что тс делает отдельные http запросы к разным файлам и ожидает что они магически знают друг о друге
классическая ошибка новичка в непонимании отдельных процессов
не факт что я прав
просто утомительно расспрашивать тс о подробностях и оставлю это для других менее "уставших от подобных вопросов" участников форума так как это дело на большой флейм
плавали...пробовали объяснить
утомительно
LIME пишет:
но это невозможно в формате форума и ответа
дело не одного ответа
LIME пишет:
Не могу не согласиться с аргументами
ты явно можешь помочь если вступишь в переписку в этом флейме

 

Powered by ExBB FM 1.0 RC1