دیگه حتما همه یه بار اسم آپارات به گوشمون خورده و توی سرچ های مختلف نتیجه هایی از اون رو باز کردیم حالا ممکنه آموزش بوده باشه ،سرگرمی ،آنباکسینگ و ... یکی از پر بازدید ترین و معروف ترین سرویس های اشتراک گذاری ویدیو آپارات هست که توی ایران بعد از گوگل توی چند جایگاه بعدی قرار داره و اکثر سازمان ها و شرکت ها در اون کانال رسمی دارند.
قبل از خوندن ادامه این مشکل توی این ویدیو تصویری نشون دادم.
داشتم یه پنل برای آپارات میزدم که بیاد خدمات آپارات بده اما بر اساس درخواست باشه و سرعتش بالا باشه
نه با سلنیوم و در آخر من چند تا عملیات براش پیاده کردم این که لاگین کنه یا یوزر بسازه و عملیات های مختلف مثل فالو کردن رو انجام بده اما متوجه یه نکته شدم
https://www.aparat.com/api/fa/v1/user/follow/follow/userid/1495181/type/true/tty/1239294930/hash/c8225cf05dd05acb1d953edbb9512aaabea63256
این درخواستی هست که ما برای فالو کردن داریم و توی موارد دیگه مثل ( لایک،فالو،آنفالو،کامنت و ...) این ساختار یکی هستش اما یکم بررسیش کنیم
اول اومدم یه درخواست ایجاد کردم و مقدار user_id رو تغییر دادم ببینم که میشه یه یوزر دیگه رو فالو کرد یا این درخواست مخصوص این user_id هست و متوجه شدم هر تغییر که توی این URL صورت بگیره ( 403 ) میده.
پس در نتیجه این روش جواب نداد ولی خب اگر درخواست که به صورت GET هست رو اجرا کنی به ما نتیجه درخواست رو میده
و اومدم چندین بار اجراش کردم دیدم با اینکه tty از زمانش گذشته هنوز داره کار میکنه و گفتم خب حتما با یه درخواست جدید این Expire میشه پس اومدم یه درخواست فالوی جدید زدم دیدم هر کدوم مجزا دارن کار میکنن و Expire و ابطالی صورت نمیگیره گفتم عجب ! ( البته بعد از یه زمان رندومی مثل 30 دقیقه باطل میشد)
اومدم یه درخواست آنفالو دادم و دقیقا همین شرایط بود و بعد از آنفالو با همین درخواست های قبلی میتونستم کانال رو فالو کنم
داستان اینجاست که درخواست معتبر هست و کار میکنه و این درخواست روی یه یوزر دیگه ولیدیت نمیشه که آیا واقعا این یوزر این درخواست رو داده یا نه پس روی یه یوزر دیگه اگر فقط داخل آپارات لاگین باشه و لینک مارو بازکنه کانال ما یا هر کانالی که فالو و عملیات های دیگه رو انجام دادیم اتفاق میفته .
پس یعنی من چنل x رو فالو میکنم و لینک درخواست رو میدم به دوستم و زمانی که بازش کنه کانالی که من خواستم فالو میشه (:
پس کد PHP برای پنل شد این با لاگینی که قبلا نوشتم یوزرا لاگین میشدن و کوکیشون رو ذخیره میکردم و درخواست ماهم که چک نمیشد
$cookieJar = CookieJar::fromArray([
'AuthV1' => $user['cookie']
], 'aparat.com');
$client->request('GET', "https://www.aparat.com/api/fa/v1/user/follow/follow/userid/1495181/type/true/tty/1239294930/hash/c8225cf05dd05acb1d953edbb9512aaabea63256", ['cookies' => $cookieJar]);
و نتیجه نزدیک 1000 فالو توی کمتر از 1 دقیقه
و پنل ما آماده شده برای خدمات دهی با سرعت عالی این روی local بود اما گفتم خب آسیب پذیری که مشخصه حالا نوبت POC میرسه برای بهره برداری و ما محدودیت ارسال درخواست و همچنین مکانیزم های مختلف داریم پس ریدایرکت کردن بهترین راهه و بازکردن پاپ آپ ( پاپ اپ در اکثر موارد نیاز به اجاره دادن داره پس بازم مناسب نیست) ونتیجه بدک نبود ولی بیشتر بدرد موبایل میخورد
امیدوارم بدردتون خورده باشه و لذت برده باشید زمانی که این پست منتشر شده گزارش و رفع شده ):
https://www.aparat.com/api/fa/v1/user/follow/follow/sender_id/9258062/userid/13280/type/true/tty/1659539861/hash/751e0c5b18838c728568b06ba503e519f9bc1123f