Mister_Black

Рейтинг
183
Регистрация
24.02.2009
coldynn:
Согласен. Тут прикрытся всё может в любой момент,а ты учиться ) Смотри лучше в соседних ветках,как на дорах заработать.

я бы сказал в целом интернет бизнес штука нестабильная и ничем не защищённая, закрыть могут всё что угодно и когда угодно, последние события это подтверждают и это касается не только фо.

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

siv1987:
Я это понял. Но у ТСа в скрипте "вставляем этот код в index.php" по любому сбрасывается только одна кука. хотя да, в таком случае в условие стоит уменьшить ее размер.
Mister_Black, my_cookie_name нужно заменить на имя вашей куки.

менял, всё равно не удаляет когда размер доходит до 3500 байт.

siv1987, спасибо :)

upd: не работает ваш код.

Проблема решена, вот решение на php, вдруг кто то столкнётся с такой же проблемой, вставляем этот код в index.php:

$length = strlen($_SERVER['HTTP_COOKIE']);

$quantity = sizeof($_COOKIE);

if ($length<3500 && $quantity<=20) {

include "in.php";

}

else {

setcookie('sloth_nosend', "", time() - 86400);

}

fedimen:

Если есть возможность использовать PHP, то JS не нужен, берите пример по вашей ссылки для PHP:
$length = strlen($_SERVER['HTTP_COOKIE']);

$quantity = sizeof($_COOKIE);
if (isset($_COOKIE[$name])) $length = $length - strlen($name.'='.rawurlencode($_COOKIE[$name]));
else {
if ($length>0) $length = $length + 2;
$quantity++;
}
$length = $length + strlen($name.'='.rawurlencode($value));
if ($length>=4000 || $quantity>=20) удаляем;
setcookie($name,$value);

Вместо "удаляем" сделать удаление ненужных куки.

пробовал этот метод, когда вписываю туда свою куку то она удаляется сразу независимо от размера, а мне нужно чтоб удалялась при достижении предельного размера, возможно что то в коде не так.

developer_php:
Для начала качаем плагин для работы с кукис, разумеется для него нужен jquery. Далее вставляем что-то типа такого

var sites = $.cookie("sites");
if(sites.length >= 2048)
{
$.cookie("sites", null);
}

Это если я в подсчетах не ошибся. 4КБ это 32768 бит. Каждый символ в стринге согласно стандарту 16 бит, значит есть место для 2048 символов.

Сделал по этому методу, вроде сработало, только ошибки стали лезть в фаерфоксе $.cookie is not a function может что в коде поправить надо?

fedimen:
Проблема в том, что более 4Кб размер куки не будет, браузер его сам обрежет. Для надежности сравнивать надо с 1024.

в том то и проблема что браузер её не обрезает, пробовал во всех браузерах, получается что инфа записаться не может и всё стопорится.

вот нашёл тут какое то решение http://www.cms4site.ru/ru-joke-13-cookies.html но оно не срабатывает почему то, пробовал оба варианта на php и на js

задам вопрос по другому, как организовать код JS чтоб он обнулял куку при достижении 4кб

нужно что то типа

GetCookie, проверяет длину (.length)

если длина больше, то кука обнуляется (SetCookie)

вопрос к знатокам, как правильно будет выглядеть такой код?

сделал пока так, в nginx.conf

location / {

limit_req zone=one burst=8 nodelay;
proxy_pass http://ip адрес сервера :8080;
proxy_redirect off;
proxy_set_header Host $host;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

в rpaf.conf

LoadModule rpaf_module /usr/local/libexec/apache22/mod_rpaf2.so

RPAFheader X-Real-IP
RPAFproxy_ips ip адрес сервера
RPAFEnable On

RPAFheader X-Real-IP срабатывает при таком раскладе, прокси больше нет.

теперь меня интересует будет ли реальный прокси определяться при таком конфиге?

нарыл в гугле http://forum.ispsystem.com/ru/showpost.php?p=72949&postcount=3 там сказано, что надо изменить в конфиге nginx название proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; например на proxy_set_header X-NGINX-Forwarded-For $proxy_add_x_forwarded_for; и добавить в конфиг rpaf строку RPAFheader X-NGINX-Forwarded-For

вот думаю стоит ли так делать?

Joker-jar:
А разве не нужно что-то типа

RPAFproxy_ips 127.0.0.1

ну неужели непонятно, 0.0.0.0 это ип моего сервера, то есть localhost, не буду же я реальный адрес писать.

лучше что нибудь по делу ответьте, весь гугл перерыл, просто нет стопроцентного решения этой проблемы похоже.

в конфиг rpaf.conf добавил ещё строку RPAFheader X-Real-IP

получается что либо 0% прокси, в случае отключения в nginx #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

либо 100% когда включено proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

мне надо чтоб реальное количество прокси определялось.

Всего: 713