IP запроса на отдельной странице

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X
#1 1 октября 2021 в 17:45

Всем привет.

Нужно получить запрос с параметром и вывести откуда был запрос и сам параметр, на отдельном url.

Подскажите как это максимально проще реализовать или натыкайте носом в каком файле ковырять можно.

Пример:

req: GET site.ru/myip?source=bla-bla-bla

resp: source — <bla-bla-bla>, IP — <1.1.1.1>

#2 1 октября 2021 в 19:50

Создайте в system/controllers папку myip в ней файл frontend.php с таким содержимым

  1. <?php
  2. class myip extends cmsFrontend {
  3. public function actionIndex() {
  4. $source = $this->request->get('source','хз... хз...');
  5. $ip = cmsUser::getIp();
  6. $text = "source - < " . html($source,false) . " >, IP - < $ip >";
  7. die($text);
  8. }
  9. }

 

Получите такое

Изображение

#3 1 октября 2021 в 20:09

Спасибо! Это работает.

#4 29 октября 2022 в 01:19

Подкиньте пожалуйста ещё решение как сделать чтобы:

1) когда заходят на страницу с параметрами в запросе, например — example.com/page?param1=value1 & param2=value2 & param...

2) откусить все возможные параметры — param1=value1 & param2=value2 & par… ...& paramN=valueN

3) сделать перенаправление на целевой домен с точно такими же параметрами — target.com?param1=value1 & param2=value2 & par… ...& paramN=valueN

Добавлено спустя 43 минуты

Во. Сам накалякал, на основе решения выше. Было бы желание )

  1. <?php
  2. class redir extends cmsFrontend {
  3. public function actionIndex() {
  4. header('Location: http://example.com' . $_SERVER['REQUEST_URI']);
  5. exit();
  6. }
  7. }
#5 30 октября 2022 в 20:01

Подкиньте пожалуйста ещё решение как сделать чтобы:

1) когда заходят на страницу с параметрами в запросе, например — example.com/page?param1=value1 & param2=value2 & param...

2) откусить все возможные параметры — param1=value1 & param2=value2 & par… ...& paramN=valueN

3) сделать перенаправление на целевой домен с точно такими же параметрами — target.com?param1=value1 & param2=value2 & par… ...& paramN=valueN

Во. Сам накалякал, на основе решения выше. Было бы желание )

  1. <?php
  2. class redir extends cmsFrontend {
  3. public function actionIndex() {
  4. header('Location: http://example.com' . $_SERVER['REQUEST_URI']);
  5. exit();
  6. }
  7. }
Dmitry

можно так

  1. $params = count($this->cms_core->uri_query) ? '?' . http_build_query($this->cms_core->uri_query) : '';
  2. $host = $this->cms_config->host;
  3. //$host = 'https://example.ru';
  4. return $this->redirect($host . $params);
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.