ext_session_acl(8) System Manager's Manual ext_session_acl(8)

ext_session_acl - برنامه کمکی بیرونی acl برای ردیابی نشست در Squid.

نسخه 1.2

ext_session_acl [-t timeout ] [-b database ] [-a]

برنامه ext_session_acl با پایش درخواست‌ها و منقضی کردن نشست‌ها، مفهوم نشست را مدیریت می‌کند. زمان انقضا بر پایه عدم فعالیت ( -t ) یا یک بازه زمانی مشخص و ثابت ( -T ) تعیین می‌شود. حالت نخست برای نمایش شرایط و قوانین به کاربر مناسب است؛ حالت دوم برای نمایش آگهی‌ها یا سایر اعلان‌ها به کار می‌رود (هر دو به صورت یک صفحه اعلان یا splash page - نمونه‌های پیکربندی را در ویکی آنلاین ببینید). همچنین در صورتی که %LOGIN و -a هر دو استفاده شوند، این برنامه کمکی نشست می‌تواند برای اجبار کاربران به احراز هویت مجدد به کار رود.

مدت‌زمان انقضا بر اثر عدم فعالیت (idle timeout) برای هر نشست. در صورت عدم تعیین، این حالت پیش‌فرض است (بر روی ۳۶۰۰ ثانیه تنظیم شده است).
مدت‌زمان انقضای ثابت برای هر نشست. این گزینه فارغ از میزان فعالیت کاربر، نشست را پس از پایان این مدت خاتمه می‌دهد. در صورت استفاده در حالت active ، این گزینه نشست کاربر را پس از timeout پایان می‌دهد که پس از آن ورود مجدد ( LOGIN ) لازم خواهد بود. LOGOUT نشست و زمان انقضا را بازنشانی خواهد کرد.
مسیر به پایگاه‌داده پایدار (persistent). اگر یک فایل تعیین شود، همان تک‌فایل به عنوان پایگاه‌داده استفاده می‌شود. اگر یک مسیر مشخص شود، یک محیط پایگاه‌داده Berkeley DB درون آن دایرکتوری ایجاد می‌شود. مزیت حالت دوم، پشتیبانی بهتر پایگاه‌داده میان چندین نمونه از برنامه کمکی نشست است. استفاده از چندین نمونه برنامه کمکی نشست با یک فایل پایگاه‌داده منفرد، سبب بروز مشکلات همگام‌سازی بین فرایندها خواهد شد. اگر این گزینه مشخص نشود، جزئیات نشست‌ها تنها در حافظه نگهداری می‌شوند و با هر بار راه‌اندازی مجدد برنامه‌های کمکی توسط Squid (راه‌اندازی مجدد Squid یا چرخش لاگ‌ها)، تمامی نشست‌ها بازنشانی خواهند شد.
حالت فعال (Active mode). در این حالت، نشست‌ها با ارزیابی یک acl با آرگومان LOGIN آغاز می‌شوند یا با آرگومان LOGOUT خاتمه می‌یابند. بدون این پرچم، برنامه کمکی به‌طور خودکار پس از دریافت نخستین درخواست، نشست را آغاز می‌کند.

برنامه کمکی ext_session_acl یک برنامه کمکی هم‌روند (concurrent) است؛ بنابراین گزینه concurrency= باید در پیکربندی مشخص شود.

مثال پیکربندی نشست غیرفعال (passive) با استفاده از حالت خودکار پیش‌فرض:

external_acl_type session ttl=300 negative_ttl=0 children=1 concurrency=200 %LOGIN /usr/local/squid/libexec/ext_session_acl
acl session external session
http_access deny !session
deny_info http://your.server.example.com/bannerpage?url=%s session

سپس http://your.server.example.com/bannerpage را برپا کنید تا یک صفحه آغاز نشست نمایش داده شود و سپس کاربر را به نشانی درخواستی که در پارامتر پرسمان url آمده است بازگرداند (redirect کند).

این برنامه و مستندات آن توسط اشخاص زیر نوشته شده است: Henrik Nordstrom <henrik@henriknordstrom.net> Andrew Beverley <andy@andybev.com>


* Copyright (C) 1996-2026 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* Please see the COPYING and CONTRIBUTORS files for details.

حق نشر این برنامه و مستندات آن متعلق به نویسندگان نام‌برده در بالا است.

تحت مجوز عمومی همگانی گنو (GNU GPL) نسخه ۲ یا بالاتر (GPLv2+) توزیع شده است.

پرسش‌ها در مورد استفاده از این برنامه را می‌توانید به فهرست پستی کاربران Squid <squid-users@lists.squid-cache.org> ارسال کنید.

گزارش‌های باگ باید به زبان انگلیسی ارسال شوند. برای جزئیات مواردی که باید در گزارش باگ خود بگنجانید، به https://wiki.squid-cache.org/SquidFaq/BugReporting مراجعه کنید.

باگ‌ها یا وصله‌های اصلاحی را با استفاده از https://bugs.squid-cache.org/ گزارش کنید.

باگ‌های امنیتی جدی را به باگ‌های Squid <squid-bugs@lists.squid-cache.org> گزارش دهید.

ایده‌ها برای بهبودهای جدید را به فهرست پستی توسعه‌دهندگان Squid <squid-dev@lists.squid-cache.org> ارسال کنید.

squid(8), GPL(7),
ویکی پرسش‌های متداول Squid https://wiki.squid-cache.org/SquidFaq
راهنمای پیکربندی Squid http://www.squid-cache.org/Doc/config/

9 October 2011