Page 1 of 2

Опять про формулу :)

Posted: Tue Nov 05, 2013 6:49 am
by Jabar
Я все со своими баранами.
1. как то мы говорили про $config['allow_eval'] = true;
"но если дать выполнять пхп это потенцуиальная дыра"
Я конечно слабо разбираюсь в этом, но вроде как в темплейтах код пхп выполняется без ограничений. Внимание вопрос: Значит ли выполнение пхп в темплейтах, что это равноценная (тождественная) дыра?
Я это к тому, что сильно ли изменится безопасность если я включу allow_eval ?

2. Ну и есть ли возможность добавить в формулу переменную (таг) TOTAL_EFFECT (типа TOTAL_RELOWN) , которая считалась бы примерно так:
if ((100*($d[day][quality]+$d[day][quality_url])/($d[day][rd]+0.001)) > $d['max_prod_limit']) {
$click = ($d['max_prod_limit'] * $d[day][rd] / 100) ;
} else {
$click = ($d[day][quality]+$d[day][quality_url]+1) ;
};
$_POST[priority] = @round( (( $click / ($d['day']['od']+0.95) )*$d[trat])+($d[day][rd]/($d[day][rd]+1)*3))

ну добавить еще проверку что $d['max_prod_limit'] больше 0 .

Re: Опять про формулу :)

Posted: Tue Nov 05, 2013 12:41 pm
by admin
Разница в следующем:

если все настроено нормально, то если кто-то получил парошль от админки то он может вставить код в темпелйт и этот код выполнится, но от апача.

а крон выполняется от юзера и соотв код вставленный в формулу выполнится от юзера.

Re: Опять про формулу :)

Posted: Tue Nov 05, 2013 1:38 pm
by Jabar
admin wrote: этот код выполнится, но от апача.
а крон выполняется от юзера и соотв код вставленный в формулу выполнится от юзера.
понятно.
а по второму?

Re: Опять про формулу :)

Posted: Tue Nov 05, 2013 5:49 pm
by admin
Да, таг будет в 51.

Re: Опять про формулу :)

Posted: Fri Nov 15, 2013 3:19 pm
by admin
Пытаюсь понять что происходит в формуле, дабы не делать чистый копипаст
if ((100*($d[day][quality]+$d[day][quality_url])/($d[day][rd]+0.001)) > $d['max_prod_limit']) {
$click = ($d['max_prod_limit'] * $d[day][rd] / 100) ;
} else {
$click = ($d[day][quality]+$d[day][quality_url]+1) ;
};
Вычисляем макс число кликов
Допустим для теста числа от 0 до 100.
и ауты от 0 до 100
$_POST[priority] = @round( (( $click / ($d['day']['od']+0.95) )*$d[trat])+($d[day][rd]/($d[day][rd]+1)*3))
зачем тут $d[day][rd]/($d[day][rd] тоже самое деление и в чем магия умножить на 3 тут ?

Re: Опять про формулу :)

Posted: Fri Nov 15, 2013 5:10 pm
by Jabar
Общая идея в следующем. Хотел трейд по эфективности. Грубо - это как овед, только вместо разности используем отношение. Т.е. Р (приорити)= ратио*клики/ауты . Но при этом, хотелось бы иметь все полезности, такие как кволити, ограничение макс продуктивности. Возможны какието ошибки в формуле.

((100*($d[day][quality]+$d[day][quality_url])/($d[day][rd]+0.001)) > $d['max_prod_limit'])
здесь идет проверка , что прода меньше положеного

$click = ($d['max_prod_limit'] * $d[day][rd] / 100) ;
} else {
$click = ($d[day][quality]+$d[day][quality_url]+1) ;
};

здесь в зависимости от проверки вычисляем общее количество кликов полученных от трейда. Единица прибавляется, чтобы $click не был равен 0 и ратио не занулялось. (для своеобразной поддержки нулевых трейдов при излишках трафа)
$_POST[priority] = @round( (( $click / ($d['day']['od']+0.95) )*$d[trat])+($d[day][rd]/($d[day][rd]+1)*3))
0,95 - для того , чтоб если аутов нет (а клики есть), то чтоб немножко приподнять такой трейд, но именно немножко.
зачем тут $d[day][rd]/($d[day][rd] тоже самое деление
задача , чтобы трейд который прислал один или несколько инов, (при этом если прода равна нулю, т.е. нет кликов) имел некоторое преимущество перед трейдом который вобще ничего не прислал (инов 0).
и в чем магия умножить на 3 тут
Сказано же - магия! :) Задача в том, что бы трейд, приславший 5 инов с нулевой продой, имел преимущество перед трейдом, приславшим 1 ин с нулевой продой.


Сейчас пока использую такой вариант:
((100*($d[day][quality]+$d[day][quality_url])/($d[day][rd]+0.001)) > $d['max_prod_limit']) ? $click = ($d['max_prod_limit'] * $d[day][rd] / 100) : $click = ($d[day][quality]+$d[day][quality_url]+1);
$_POST[priority] = @round( (( $click / ($d['day']['od']+0.9) )*$d[trat])+($d[day][rd]/($d[day][rd]+1)*3))

Прошу обратить внимание, что коэфициэнт 0,95 был заменен на 0,9 - вроде так лучше.
Вроде бы формула работает и просто так не переливает и чуточку взбадривает умершие трейды.

Re: Опять про формулу :)

Posted: Fri Nov 15, 2013 10:27 pm
by admin
Те по факту это не параметр а целая формула, но вы ее не испольузете потому что там есть if который не работает без eval ?

Re: Опять про формулу :)

Posted: Sat Nov 16, 2013 4:13 am
by Jabar
Те по факту это не параметр а целая формула
Ну наверное. Назовите как удобнее, лишь бы работало.
но вы ее не испольузете потому что там есть if который не работает без eval ?
да. Включил на некоторых сайтах, но вроде как не хорошо использовать eval , раз это приводит к ухудшению безопастности. Еслибы придумать, как использовать ограничение по проде $d['max_prod_limit'] без if (или другого оператора выбора) был бы благодарен, тогда все решалось бы без eval.

Возможно это будет интересно еще комуто, может быть и нет, не знаю. Но знаю, что не удовлетворенность текущей формулой есть у многих.


Возможно стоит внести не как параметр , а как тип трейда. Есть типа owed, есть capped, но абсолютное большинство используют normal . Почему бы не ввести effect ?

Re: Опять про формулу :)

Posted: Fri Nov 22, 2013 4:40 pm
by admin
Тогда все проще.

$d[prod][day_total] автоматически лимитируется в соотв с $d['max_prod_limit']

Re: Опять про формулу :)

Posted: Fri Nov 22, 2013 4:59 pm
by Jabar
А учитывает ли $d[prod][day_total] настройки кволити? Ну там гуд,бэд страны, прокси, яваскрипт ?

Или по другому. Я правильно понял, что
($d[day][quality]+$d[day][quality_url]) / $d[day][rd] = $d[prod][day_total]
или $d[prod][day_total] опирается на уники? тогда
($d[day][quality]+$d[day][quality_url]) / $d[day][ud] = $d[prod][day_total]