1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Как прицепить внешний php-файл?

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем GeN4uk, 18.10.2011.

Загрузка
  1. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Спасибо, учту.
    Просто я вовсе ноль в аяксе)
    Да и в php точно так-же.

    Делаю методом тыка, пока что ни разу не огорчался в том что делал)
     
  2. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Главное - поставить цель и идти к ней :)
     
    maus и Димка нравится это.
  3. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Возник вопрос по этому поводу.

    Если подковырнуть исходный код, зная где ковырять то можно просматривать данные за другого пользователя и передавать соответственно.

    Это делается элементарно через Opera.
    Можно ли сделать так чтоб усложнить возможность подмены?

    Вот то о чем говорю:


    Может как вариант передавать не никнейм, а к примеру email юзверя, а потом уже выборкой из базы брать его никнейм и дальше плясать так как взбредет в голову.
     
  4. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
  5. Hafner

    Hafner Местный

    Регистрация:
    07.10.10
    Сообщения:
    55
    Симпатии:
    98
    Версия XF:
    1.1.1
    Там у него скорее всего не $_POST['username'], a $_REQUEST['username'].

    Добавь на всякий случай проверку в свой скрипт и только после неё делай нужные действия:
    PHP:
    if( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) { ... }
    Это не решит твоей проблемы, но избавит от других дырок в безопасности.
    А решение текущего вопроса тебе уже предложили.
     
    Димка нравится это.
  6. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2

    Спасибо за подсказку, теперь просто извне просмотреть нельзя :)

    Я извиняюсь, но тем способом что вы советуете я не смогу ничего дельного сделать, так как данные передаются через ajax скрипт, что он получил то и отправил.
    Если бы сам php скрипт был заинклюден в страницу без помощи посторонних помошников типа ajax то было бы другое дело, а так оно кодируется и декодируется, но толку нет.

    Если я не прав, поправьте.
     
  7. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
    ну так я и предлагал завуалировать данные которые аяксом передаются, в ксене добавить чтото типа
    $loki=base64_encode( $visitor.username)
    аяксом передавать значение $loki (_Dimk_O_ - будет выглядеть вот так: X0RpbWtfT18=), тоесть запрос будет вот такой:
    bonus_stats.php?loki=X0RpbWtfT18=

    а в bonus_stats.php, сначала раскодируешь:
    $username =base64_decode($loki)
    а потом уже по нику отдаешь данные
     
  8. Димка

    Димка Местный

    Регистрация:
    05.04.12
    Сообщения:
    15
    Симпатии:
    0
    Версия XF:
    1.1.2
    Возможно я как-то не так объяснил.
    Если не сложно то посмотри видео еще раз.

    И смотри:
    Если изменять поле value в этой строке
    Код:
    <input id="username" type="hidden" value="{$visitor.username}">
    то при сохранении передастся ник который тебе взбредет вписать.
    И хоть 100 раз перекодируй, толку нет.

    нужно скрыть именно это
    Код:
    <input id="username" type="hidden" value="{$visitor.username}">
    чтоб юзверь посмотрев исходный код страницы не видел где есть его никнейм.

    Значение то берется именно из этой строки.

    Полазив по сайтам накопал одну штуку.
    На одном из них я обнаружил что по нажатию кнопки передается не конкретное значение, а какой-то токен.
    Вот:
    Код:
    <input type="hidden" name="_xfToken" value="61,1337013857,b093415800852c7533c78ad1c0b49de8ell92401" />
    Что это может быть?
    И как сие получить?

    На это я набрел тут rus-minecraft.ru

    Я конечно извиняюсь если не понимаю то о чем вы мне говорите, но надеюсь на снисходительность ^_^

    Или вы хотите сказать что можно какими-то стандартными средствами ксени закодировать данные?
     
  9. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Данные не кодируются. А токены используются для того, чтобы удостовериться, что форма отправлена от того, кто эту форму запрашивал. Т.е. при генерации страницы с формой подставляется токен. При приеме данных впоследствии этот токен проверяется. Через токены работают большинство современных движков, кстати. Сам токен имеет ограниченное время действия.
    Кодирование данных формы - затея бесперспективная. Ну или только как защита от дурака. Проблема в том, что кодирование данных средствами клиента в любом случае на клиенте и раскодируется. Если кодировать что-то на сервере, а затем на клиенте раскодировать - аналогично. В любом случае пользователь может как получить доступ к этим данным в чистом виде (раскодировать), так и изменить их, если знает алгоритм кодирования, что в этом конкретном случае вполне реально.

    В общем ставьте задачу иначе и не пытайтесь защититься от детей.
     
  10. Barbos

    Barbos Местный

    Регистрация:
    14.04.12
    Сообщения:
    115
    Симпатии:
    143
    Версия XF:
    1.1.2
    Димка почитай эту http://xenforo.com/community/resour...-insert-tabs-in-profile-page-using-hooks.335/ статейку и попробуй реализовать, а потом по аналогу добавь закладки в accountSideBar, и потом напихай уже туда свои приколы..
    иными словами интегрируй "Личный кабинет" в ксену.. ну а если не потянешь, то поищи фрилансеров - пусть напишут тебе плагин...
     
  11. KakBeOlolo

    KakBeOlolo Местный

    Регистрация:
    08.10.11
    Сообщения:
    510
    Симпатии:
    93
    Версия XF:
    1.1.2
    А сильно ли это грузит сервер?
     
  12. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    всё зависит от прямоты рук. В идеальном мире - не особо
     

Поделиться этой страницей