کلاس Protection وودیجی
از روشهای پیشفرض افزونه وودیجی میتوان برای محافظت از لینک دانلودی استفاده کرد؛ اما گاهی نیاز است تا این کار با کمک کدنویسی انجام گیرد.
ساختار تابع محافظت از لینک
\Woodigi\Protector::protect( $url, $conf = array(), &$is_licensed = true ): ?string { ...
پارامترهای ورودی
- url: لینک مورد نظر در مسیر وودیجی ریموت.
- conf: کانفیگ دلخواه بهصورت یک آرایه با کلیدهای زیر:
- ip: آیپی کلاینت. (string)
- user_agent: دیتای مرورگر کاربر. (string)
- max_expire_at: حداکثر زمان انقضای مجاز که یک تاریخ با فرمت Y-m-d H:i:s است. (string)
- stream: آیا برای استریم ویدیو است یا خیر (boolean). پیشفرض false.
- settings: تنظیمات که یک آرایه با مقادیر زیر است:
- protection_ip: آیا لینک به آیپی کاربر محدود شود یا خیر؟ (boolean)
- protection_user_agent: آیا لینک به مرورگر کاربر محدود شود یا خیر؟ (boolean)
- protection_expire: آیا لینک دارای تاریخ انقضا باشد یا خیر؟ (boolean)
- protection_expire_after: زمان انقضا بعد از چه مدت؟ (int)
- protection_expire_unit: واحد انقضا بعد از چه مدت؟ (string)
مقادیر قابل قبول: hours, days
- is_licensed: خروجی دوم که اطلاع میدهد آیا لایسنس فعال است یا خیر.
خروجی
لینک دانلود رمزنگاری و محافظت شده در صورت موفق بودن عملیات، نال در غیر اینصورت.
نکته: اگر لایسنس وودیجی فعال نباشد، نال برمیگردد و پارامتر is_licensed نیز false خواهد شد. بنابراین با این پارامتر میتوانید بررسی کنید که مشکل بهخاطر لایسنس است یا خیر.
نکته: اگر لینک مورد نظر در مسیر یک وودیجی ریموت قرار نداشته باشد (مسیرها باید از تنظیمات وودیجی در وردپرس مشخص شده باشند)، مقدار خود لینک برمیگردد.
مثال
لینک زیر با تنظیمات پیشفرض محافظت خواهد شد:
$protected_link = \Woodigi\Protector::protect( "https://dl.herminal.com/woodigi/uploads/herminal.zip" );