Я использую CGI.pm для выписки файлов cookie. Теперь во время использования пользователем моего сайта в файл cookie «test.com» добавляются другие файлы cookie (как показано в истории браузеров)Как я могу прочитать несколько файлов cookie с помощью CGI.pm от Perl?
Но теперь я хочу вывести пользователя из системы и «очистить» «ПК. Поскольку я не знаю, какие скрипты пользователь использовал, я не могу предвидеть, какие файлы cookie будут на ПК.
Вкратце, там есть способ прочитать все файлы cookie для «test.com» обратно в сценарий, чтобы затем я мог распечатать их снова с длительностью 1 с (фактически «удалив» их) ** Я знаю вы можете прочитать файл cookie с помощью $ xyz = cookie ('$ name') ... но как я могу создать массив, содержащий переменную $ name, чтобы я мог ее пропустить? Сценарий также будет запускаться на «test.com», поэтому политика межсетевого экрана не является проблемой.
+++++ brian d foy добавлен частичный ответ ниже. Так вот, как я предполагаю, код может быть натянут вместе.
use CGI::Cookie;
%cookies = CGI::Cookie->fetch;
for (keys %cookies) {
$del_cookie.="cookie(-NAME=>'$cookies[$_]',-PATH=>'/',-EXPIRES=>'+1s');";
}
print header(-cookie=>[$del_cookie]);
Я задавался вопросом, как сценарий распознает домен. Появляется сценарий достаточно интеллектуальный, чтобы загружать только файлы cookie для домена, для которого выполняется сценарий. (Теперь мне только нужно выяснить, почему Firefox не удаляет истекшие куки-файлы !! Просто нашел некоторые из них, которые истекли с 29 по 31 января в моем тестовом домене, и сначала задавались вопросом, почему они не появились в моем списке файлов cookie!)
http://search.cpan.org/~markstos/CGI.pm-3.64/lib/CGI/Cookie.pm#Recovering_Previous_Cookies –