форум работает 24\7, пишите когда вам уобно будет
Небольшие баги
Re: Небольшие баги
Don't forget to run script update
Re: Небольшие баги
Я вернусь через пару часов и сделаю 2 наглядных варианта...
Re: Небольшие баги
наглядный вариант это ваш код?
если вы просто редиректите на аут и все работает а с вашим кодом нет - понятно что проблема где-то в вашем коде
если вы просто редиректите на аут и все работает а с вашим кодом нет - понятно что проблема где-то в вашем коде
Don't forget to run script update
Re: Небольшие баги
кстати предполагая что у вас секретный код могу сразу подсказать простейший вариант как тестировать
например out.php?url=http://asd.com/ это реальна ссылка на смарт и она работает
сейчас у вас есть условно o.php который выглядит примерно как
<?
ваш код line1
ваш код line2
ваш код line3
include(real_out.php)
и такой код не работает
вы перемещаете инклудт смарта в самое начало
<?
include(real_out.php)
exit;
ваш код line1
ваш код line2
ваш код line3
понятно что в этом вариант оно точно работает тк этот вариант ничем не отличается от прямого запроса на аут.
после этого начинаете двигать инклуд смарт вниз своего кода, условно
<?
ваш код line1
include(real_out.php)
exit;
ваш код line2
ваш код line3
и ловите в какой момент оно перестает работать.
например out.php?url=http://asd.com/ это реальна ссылка на смарт и она работает
сейчас у вас есть условно o.php который выглядит примерно как
<?
ваш код line1
ваш код line2
ваш код line3
include(real_out.php)
и такой код не работает
вы перемещаете инклудт смарта в самое начало
<?
include(real_out.php)
exit;
ваш код line1
ваш код line2
ваш код line3
понятно что в этом вариант оно точно работает тк этот вариант ничем не отличается от прямого запроса на аут.
после этого начинаете двигать инклуд смарт вниз своего кода, условно
<?
ваш код line1
include(real_out.php)
exit;
ваш код line2
ваш код line3
и ловите в какой момент оно перестает работать.
Don't forget to run script update
Re: Небольшие баги
Нет, я еще более упрощаю тестовый код до минимума...
Итак, есть domain.com, установлен SmartCJ в /scj/, ин считается через смартовский /index.php, соответственно, в CJ Pages:
/home/path_to_root/domain.com/index2.php
В nginx стоит реврайт:
Делаем тестовый index2.php, со следующим кодом:
- так все работает!
- на контент срабатывает аут, а трейдеров не находит:
Итак, есть domain.com, установлен SmartCJ в /scj/, ин считается через смартовский /index.php, соответственно, в CJ Pages:
/home/path_to_root/domain.com/index2.php
В nginx стоит реврайт:
Code: Select all
location / {
try_files $uri $uri/ /index.php?no_niche_redirect=true$is_args$args;
}
Code: Select all
<?php
if (strpos(@$_SERVER['HTTP_REFERER'],'domain.com')!==false) {
$url="https://duckduckgo.com/";
$_REQUEST['url']=$_GET['url']=$url;
$_SERVER['QUERY_STRING']='url='.urlencode($url);
$_SERVER['SCRIPT_NAME']=$_SERVER['PHP_SELF']=$_SERVER['DOCUMENT_URI']='/scj/cgi/out.php';
$_SERVER['SCRIPT_FILENAME']=$_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME'];
$_SERVER['REQUEST_URI']=$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
include($_SERVER['SCRIPT_FILENAME']);
exit;
}
echo "<a href='/test111/' target='_blank'>OUT</a>";
exit;
Как только мы выносим этот код в класс или хотя бы в функцию:2022-04-18 18:12:41 :: click at /scj/cgi/out.php?url=https%3A%2F%2Fduckduckgo.com%2F ref: https://www.domain.com/test111/
2022-04-18 18:12:41 :: X-trader: trader1.com
2022-04-18 18:12:41 :: Current-Click: 14
2022-04-18 18:12:41 :: X-Current-Trader: trader1.com
2022-04-18 18:12:41 :: Last-key: default skimming (proxy_url)
2022-04-18 18:12:41 :: X-Set-skim: 50 ()
2022-04-18 18:12:41 :: URL-Redirect: https://duckduckgo.com/ at 50 % ( rand 60)
2022-04-18 18:12:41 :: Script-group: ff (q: 1) (52 70) (70, 15, 15)
2022-04-18 18:12:41 :: Get-traderQ1: field ff, total traders 99
2022-04-18 18:12:41 :: Field-Set: No traders so this set, change it to main
2022-04-18 18:12:41 :: Get-traderQ1: field main, total traders 99
2022-04-18 18:12:41 :: Rand: 1644 (1644)
2022-04-18 18:12:41 :: Got-member: trader2.com (http://trader2.com/)
2022-04-18 18:12:41 :: Traffic-sell-X: check trader1.com sell_skim = 0
2022-04-18 18:12:41 :: Traffic-Trade: Sending to trade
2022-04-18 18:12:41 :: Redirect-to-location: to trade
2022-04-18 18:12:41 :: Load-tube: get params
2022-04-18 18:12:41 :: Click-count-action-start: res count 4
2022-04-18 18:12:41 :: Click-count-error: https://www.domain.com/test111/ magic:1 no gal:1 skip_cookie: get_skip: ..
2022-04-18 18:12:41 :: Tube-action: return result
2022-04-18 18:12:41 :: Load-tube: done
2022-04-18 18:12:41 :: Script-select: result
2022-04-18 18:12:41 :: Show-member: true
2022-04-18 18:12:41 :: Add-click: started
2022-04-18 18:12:41 :: Write-hits: done
Code: Select all
<?php
function out111() {
$url="https://duckduckgo.com/";
$_REQUEST['url']=$_GET['url']=$url;
$_SERVER['QUERY_STRING']='url='.urlencode($url);
$_SERVER['SCRIPT_NAME']=$_SERVER['PHP_SELF']=$_SERVER['DOCUMENT_URI']='/scj/cgi/out.php';
$_SERVER['SCRIPT_FILENAME']=$_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_NAME'];
$_SERVER['REQUEST_URI']=$_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
include($_SERVER['SCRIPT_FILENAME']);
}
if (strpos(@$_SERVER['HTTP_REFERER'],'domain.com')!==false) {
out111();
exit;
}
echo "<a href='/test111/' target='_blank'>OUT</a>";
exit;
2022-04-18 18:13:06 :: click at /scj/cgi/out.php?url=https%3A%2F%2Fduckduckgo.com%2F ref: https://www.domain.com/test111/
2022-04-18 18:13:06 :: X-trader: trader1.com
2022-04-18 18:13:06 :: Current-Click: 18
2022-04-18 18:13:06 :: X-Current-Trader: trader1.com
2022-04-18 18:13:06 :: Last-key: default skimming (proxy_url)
2022-04-18 18:13:06 :: X-Set-skim: 50 ()
2022-04-18 18:13:06 :: URL-Redirect: https://duckduckgo.com/ at 50 % ( rand 64)
2022-04-18 18:13:06 :: Script-group: ff (q: 1) (25 70) (70, 15, 15)
2022-04-18 18:13:06 :: Get-traderQ1: field ff, total traders 99
2022-04-18 18:13:06 :: Field-Set: No traders so this set, change it to main
2022-04-18 18:13:06 :: Get-traderQ1: field main, total traders 99
2022-04-18 18:13:06 :: Rand: 0 (0)
2022-04-18 18:13:06 :: Script-group: nbf (q: 1) (25 85) (70, 15, 15)
2022-04-18 18:13:06 :: Get-traderQ1: field nbf, total traders 99
2022-04-18 18:13:06 :: Field-Set: No traders so this set, change it to main
2022-04-18 18:13:06 :: Get-traderQ1: field main, total traders 99
2022-04-18 18:13:06 :: Rand: 0 (0)
2022-04-18 18:13:06 :: Script-group: pbf (q: 1) (25 100) (70, 15, 15)
2022-04-18 18:13:06 :: Get-traderQ1: field pbf, total traders 99
2022-04-18 18:13:06 :: Field-Set: No traders so this set, change it to main
2022-04-18 18:13:06 :: Get-traderQ1: field main, total traders 99
2022-04-18 18:13:06 :: Rand: 0 (0)
2022-04-18 18:13:06 :: Script-group: main (q: 1) (25 100) (70, 15, 15)
2022-04-18 18:13:06 :: Get-traderQ1: field main, total traders 99
2022-04-18 18:13:06 :: Rand: 0 (0)
2022-04-18 18:13:06 :: Traffic-Trade: out of traders, sending to url
2022-04-18 18:13:06 :: Traffic-sell-set: trader1.com .. 0
2022-04-18 18:13:06 :: Traffic-sell-X: check trader1.com sell_skim = 0
2022-04-18 18:13:06 :: Redirect-to-location: to content
2022-04-18 18:13:06 :: Load-tube: get params
2022-04-18 18:13:06 :: Click-count-action-start: res count 4
2022-04-18 18:13:06 :: Click-count-error: https://www.domain.com/test111/ magic:1 no gal:1 skip_cookie: get_skip: ..
2022-04-18 18:13:06 :: Tube-action: return result
2022-04-18 18:13:06 :: Load-tube: done
2022-04-18 18:13:06 :: Script-select: result
2022-04-18 18:13:06 :: Script-location: url
2022-04-18 18:13:06 :: Add-click: started
2022-04-18 18:13:06 :: Write-hits: done
Last edited by ivlad on Mon Apr 18, 2022 6:29 pm, edited 1 time in total.
Re: Небольшие баги
Как мне видится, есть какая-то особенность в PHP или в коде Смарта, которая не дает заинклюдить аут из любой функции, при этом без вызова функции инклюд работает без проблем.
Re: Небольшие баги
Это может быть ньюансом ioncube, он переименовывает переменные в функциях
но я 3й раз возвращаюсь к вопросу просто редиректа на аут, что с ним не так?
но я 3й раз возвращаюсь к вопросу просто редиректа на аут, что с ним не так?
Don't forget to run script update
Re: Небольшие баги
теоретически или практически? есть задача уйти от двойного редиректа - отсюда и исходим
вот это уже хотя бы какое-то направление, гугл пока молчит(
Re: Небольшие баги
так зачем для этого подменять переменные и тп?
/vide/12345 реврайтиться на out.php
out.php инклудит common.php
в комон вы инклудите свой код который считает ротацию как вам надо
все.
/vide/12345 реврайтиться на out.php
out.php инклудит common.php
в комон вы инклудите свой код который считает ротацию как вам надо
все.
Don't forget to run script update
Re: Небольшие баги
не все так просто
во-первых, код достаточно большой (> 5к строк)
во-вторых, код данного приложения лежит в одном месте и инклюдится сотнями доменов
в-третьих, раньше это работало, потом перестало - поставили костыль с промежуточным редиректом
во-первых, код достаточно большой (> 5к строк)
во-вторых, код данного приложения лежит в одном месте и инклюдится сотнями доменов
в-третьих, раньше это работало, потом перестало - поставили костыль с промежуточным редиректом