ژوپیتـر اِیپیآی | Jupiter API
جواد جای اینا یخورده مطالب اموزنده بزار برای دوستان گل
دیگه دوستان استاد ما هستن واقعا
چیزی نمونده
چیزیم بلد نیستم
چیزی نمونده
چیزیم بلد نیستم
دوستان از کریپتو بکشید بیرون
پولاتونو
همش ضرره
پولاتونو
همش ضرره
👀3
🔔 اگه یجایی یوقتی با illuminate/database یا تو لاراول با اینکه نوع داده id گذاشتین bigInteger یا mediumInteger هس ولی به مشکل
میخوردین و دیتابیستون mariadb هست داونگرید هم کارتونو حل نمیکنه اینو بزارین تو مدلتون
و هر جا دیگه خطا گرفتین موقع ورودی دادن و سرچش id رو استرینگ بدین.
چند ساعت جلو میافتین. هعی
PHP Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'id' at row 1میخوردین و دیتابیستون mariadb هست داونگرید هم کارتونو حل نمیکنه اینو بزارین تو مدلتون
public function setIdAttribute($value) {
$this->attributes['id'] = (string)$value;
}
public static function find($id) {
return parent::where('id', (string)$id)->first();
}و هر جا دیگه خطا گرفتین موقع ورودی دادن و سرچش id رو استرینگ بدین.
چند ساعت جلو میافتین. هعی
❤6💩2
ژوپیتـر اِیپیآی | Jupiter API
🔔 اگه یجایی یوقتی با illuminate/database یا تو لاراول با اینکه نوع داده id گذاشتین bigInteger یا mediumInteger هس ولی به مشکل PHP Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'id' at…
از این پستهای نوبانه با راهحلهای غیرمنطقی نذار آوید جان
👍4
ژوپیتـر اِیپیآی | Jupiter API
🔔 اگه یجایی یوقتی با illuminate/database یا تو لاراول با اینکه نوع داده id گذاشتین bigInteger یا mediumInteger هس ولی به مشکل PHP Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'id' at…
لاراول با هیچ Engineای مشکلی نداره.
اگر هم مشکل داشته باشه مربوط به لاراول نیست، چیزی که حدس میزنم، تایپ Big Integer روی اون ستون پرایمریکیات ست نشده.
و اما اگر هم میخوای حل بشه، سولوشنهای مختلفی داره.
مثلا میتونی با تغییر مقدار پراپرتی keyType توی مدلت، تایپ پرایمریکی رو تبدیل به string کنی:
protected $keyType = 'string';
با این کار دیگه نیازی به اوررایت کردن متودها مثل find نیست.
اگر هم مشکل داشته باشه مربوط به لاراول نیست، چیزی که حدس میزنم، تایپ Big Integer روی اون ستون پرایمریکیات ست نشده.
و اما اگر هم میخوای حل بشه، سولوشنهای مختلفی داره.
مثلا میتونی با تغییر مقدار پراپرتی keyType توی مدلت، تایپ پرایمریکی رو تبدیل به string کنی:
protected $keyType = 'string';
با این کار دیگه نیازی به اوررایت کردن متودها مثل find نیست.
👍1🔥1
دوستان سرور ترکیه پینگ پایین نسبت به ایران کسی داره برای فروش؟
لیمیت رو ترافیک و پهنا باند نداشته باشه
لیمیت رو ترافیک و پهنا باند نداشته باشه
ژوپیتـر اِیپیآی | Jupiter API
دوستان از کریپتو بکشید بیرون پولاتونو همش ضرره
کشیدین بیرون اومد تو ولت من
🤯3
#چالش جایزه دار
🎁 اولین نفر که چالش رو حل کنه و جواب رو در کامنت ها بفرسته 500 هزار تومن جایزه میبره.
زمان تقریبی برای حل : روش اول - 1 ساعت | روش دوم - 3 ساعت | بروت فورس - inf
مصطفی فکر میکنه که خیلی حرفه ایه و با الکی کد زدن و انکد کردن دیتاها باعث امنیتشون میشه درحالی که هیچی از رمزنگاری حالیش نمیشه. دیجی کالا اومده مصطفی رو استخدام کرده و شما بهشون هشدار دادید ک چیزی بلد نیس ولی اونا کدنویسیو دادن دست مصطفی. شما به طریقی به بکاپ سرور و در نتیجه دیتابیس و کد مصطفی دسترسی پیدا کردید. برای اثبات نوب بودنش میخاید رمز ادمین رو هم در بیارین. یه رکورد توی جدول هست:
از طرفی برای سادگی میدونید که همه پردازش ها عدد صحیحه. یعنی هم رمز و هم رمز انکد شده یه عدد 64 رقمیه. و اینو تو کدای مصطفی پیدا کردید:
لطفا تمام تلاشتونو بکنین که مصطفی بیرون انداخته بشه و با داشتن رمز به اطلاعات یوزر ادمین دسترسی پیدا کنید.
📌 اولین نفر که جواب رو تا ساعت 12 شب 30 مرداد توی کامنت ها بفرسته و جوابشو تایید کنم میاد پیوی 500 هزار تومن میدمش و جوابو میزارم کانال. بعد از اون تایم جایزه ای نداره.
⚠️ تابع یک به یک نیست. ممکنه به یکی از صد تا جواب ممکن دست بیابید. ولی فقط یکی از اونها کافیه تا شما دسترسی کامل به بخش ادمین داشته باشید پس محاسبه هرکدوم کفایت میکنه.
🔖 هدف: دید بهتر برای رعایت امنیت دیتابیس ها
➕ @Av_id
📌 @jupiterAPI
🎁 اولین نفر که چالش رو حل کنه و جواب رو در کامنت ها بفرسته 500 هزار تومن جایزه میبره.
زمان تقریبی برای حل : روش اول - 1 ساعت | روش دوم - 3 ساعت | بروت فورس - inf
مصطفی فکر میکنه که خیلی حرفه ایه و با الکی کد زدن و انکد کردن دیتاها باعث امنیتشون میشه درحالی که هیچی از رمزنگاری حالیش نمیشه. دیجی کالا اومده مصطفی رو استخدام کرده و شما بهشون هشدار دادید ک چیزی بلد نیس ولی اونا کدنویسیو دادن دست مصطفی. شما به طریقی به بکاپ سرور و در نتیجه دیتابیس و کد مصطفی دسترسی پیدا کردید. برای اثبات نوب بودنش میخاید رمز ادمین رو هم در بیارین. یه رکورد توی جدول هست:
+----------+--------------------------------------------------------------------+
| username | password |
+----------+--------------------------------------------------------------------+
| admin | 8795851641635948974738997983906642458596436314039097169484447744 |
+----------+--------------------------------------------------------------------+از طرفی برای سادگی میدونید که همه پردازش ها عدد صحیحه. یعنی هم رمز و هم رمز انکد شده یه عدد 64 رقمیه. و اینو تو کدای مصطفی پیدا کردید:
import math
from mpmath import mp
mp.dps = 100
...
shash = user['password']
test = math.floor(mp.sin(input_password ^ 123456789012345678901234567890) * 10 ** 64)
if shash == test:
success_login()
else:
fail_login()
return
...
لطفا تمام تلاشتونو بکنین که مصطفی بیرون انداخته بشه و با داشتن رمز به اطلاعات یوزر ادمین دسترسی پیدا کنید.
📌 اولین نفر که جواب رو تا ساعت 12 شب 30 مرداد توی کامنت ها بفرسته و جوابشو تایید کنم میاد پیوی 500 هزار تومن میدمش و جوابو میزارم کانال. بعد از اون تایم جایزه ای نداره.
⚠️ تابع یک به یک نیست. ممکنه به یکی از صد تا جواب ممکن دست بیابید. ولی فقط یکی از اونها کافیه تا شما دسترسی کامل به بخش ادمین داشته باشید پس محاسبه هرکدوم کفایت میکنه.
🔖 هدف: دید بهتر برای رعایت امنیت دیتابیس ها
➕ @Av_id
📌 @jupiterAPI
ژوپیتـر اِیپیآی | Jupiter API
#چالش جایزه دار 🎁 اولین نفر که چالش رو حل کنه و جواب رو در کامنت ها بفرسته 500 هزار تومن جایزه میبره. زمان تقریبی برای حل : روش اول - 1 ساعت | روش دوم - 3 ساعت | بروت فورس - inf مصطفی فکر میکنه که خیلی حرفه ایه و با الکی کد زدن و انکد کردن دیتاها باعث امنیتشون…
🎁 جایزه افزایش یافت تا همون تایم
+ خودم 300 هزار تومان
+ اسپانسر (ش) 200 هزار تومان
+ اسپانسر (ه) هاست سه ماهه 5 گیگ از فراهاست
+ خودم 300 هزار تومان
+ اسپانسر (ش) 200 هزار تومان
+ اسپانسر (ه) هاست سه ماهه 5 گیگ از فراهاست
ژوپیتـر اِیپیآی | Jupiter API
+ 20 میلیون از من
20 میلیون تومن رو رفتم کریپتو خریدم ریخت، تلاش نکنین دیگه
🤡4🤣1
ازتون ناامید شدم دیگه چالش نمیزارم 😔 حتی به استاد معمولی دانشکده ریاضی یا علوم کامپیوتر میدادین با دوتا بشکن حلش میکرد
😁1
ژوپیتـر اِیپیآی | Jupiter API
#چالش جایزه دار 🎁 اولین نفر که چالش رو حل کنه و جواب رو در کامنت ها بفرسته 500 هزار تومن جایزه میبره. زمان تقریبی برای حل : روش اول - 1 ساعت | روش دوم - 3 ساعت | بروت فورس - inf مصطفی فکر میکنه که خیلی حرفه ایه و با الکی کد زدن و انکد کردن دیتاها باعث امنیتشون…
decode.py
3.3 KB
متاسفانه هیچکدومتون نتونستین حل کنین منم پاشدم حلش کردم براتون 🙂❤️
مصطفی معذرت
رمز اصلی:
رمز معادل که کد بدست اورده و کار میکنه:
البته احتمالش هست رمز کوچیکتری هم وجود داشته باشه چون از تقریب knapsack greedy استفاده شده
@Av_id
مصطفی معذرت
رمز اصلی:
8670441188149695143050933694729771773386020549480312334134816284
رمز معادل که کد بدست اورده و کار میکنه:
52530601709040156782093274191926752492216425755333
البته احتمالش هست رمز کوچیکتری هم وجود داشته باشه چون از تقریب knapsack greedy استفاده شده
@Av_id
#هعی
📌 امیدوارم بدردتون بخوره کتابخونه aiohttp توی بخش کوئری نمیتونه علائم urlencoded رو تشخیص بده و اونارو مستقیم میفرسته سمت سرور واسه همین ممکنه شما لینکی رو با requests باز کنین خروجی کد 200 بگیرین ولی با aiohttp بزنید و خروجی معمولا 403 بگیرید چون درخواست اشتباه به لینک میده.
هیچ راهیم پیدا نکردم پیشفرض مشخص کنین که تشخیص بده ولی برای ورودی میتونین از yarl استفاده کنین و جای ورودی دادن لینک به session.get این رو ورودی بدید
ولی مشکل به اینجا خطم نمیشه. گاهی اوقات هم ممکنه لینکتون فوروارد کنه به جای دیگه و برای لینک فوروارد شده هم همین دردسر هست و urlencoded تشخیص داده نمیشه. در این حالت هم توی session.get ارگومان allow_redirects=false بزنید و با گرفتن لینک ریدارکت شده response.headers.get('Location') و پاس دادنش به yarl.URL مثل بالا سیستم ریدایرکت رو خدتون بنویسید تا مشکلتون حل شه ❤️
یا برای توضیح بهتر با هارد کد:
📌 امیدوارم بدردتون بخوره کتابخونه aiohttp توی بخش کوئری نمیتونه علائم urlencoded رو تشخیص بده و اونارو مستقیم میفرسته سمت سرور واسه همین ممکنه شما لینکی رو با requests باز کنین خروجی کد 200 بگیرین ولی با aiohttp بزنید و خروجی معمولا 403 بگیرید چون درخواست اشتباه به لینک میده.
هیچ راهیم پیدا نکردم پیشفرض مشخص کنین که تشخیص بده ولی برای ورودی میتونین از yarl استفاده کنین و جای ورودی دادن لینک به session.get این رو ورودی بدید
yarl.URL(url, encoded=True)
ولی مشکل به اینجا خطم نمیشه. گاهی اوقات هم ممکنه لینکتون فوروارد کنه به جای دیگه و برای لینک فوروارد شده هم همین دردسر هست و urlencoded تشخیص داده نمیشه. در این حالت هم توی session.get ارگومان allow_redirects=false بزنید و با گرفتن لینک ریدارکت شده response.headers.get('Location') و پاس دادنش به yarl.URL مثل بالا سیستم ریدایرکت رو خدتون بنویسید تا مشکلتون حل شه ❤️
یا برای توضیح بهتر با هارد کد:
url = yarl.URL(url, encoded=True)
async with aiohttp.ClientSession(trust_env=True) as session:
async with session.get(url, headers=headers, allow_redirects=False) as response:
if response.status == 302:
redirect = response.headers.get('Location')
redirect = yarl.URL(redirect, encoded=True)
async with session.get(redirect, headers=headers, allow_redirects=False) as response:
[recursive]
❤11💩3
بچه ها اخیرا کسی از سرویس
business.google.com
برای ثبت کسب و کار استفاده کرده؟ ایرانو تحریم کرده یا چی؟
business.google.com
برای ثبت کسب و کار استفاده کرده؟ ایرانو تحریم کرده یا چی؟
💉 چجوری برای ربات ها انتی اسپم بنویسیم؟
🔖 روش اول:
روش اول برای جلوگیری از اف شدن ربات به هردلیلی در فشار زیاد و پندینگ هست. تو این روش شما پندینگ هارو باید محدود کنید تا برای مثال پیام های دریافتی در 10 ثانیه قبل پردازش نشوند.
داده های مورد نیاز: تاریخ ارسال اپدیت فعلی
🔖 روش دوم:
روش دوم که خیلی معمول تر هست برای اجرا شدن قاعده n پیام در m ثانیه هست. روش اینه که شما زمان n پیام اخر کاربر رو ذخیره کنید و در نهایت اگه زمان اولین پیام کمتر از m ثانیه گذشته باشه یعنی قاعده نقض شده و کاربر درحال اسپم کردن هست و شما پاسخ مورد نظر خودتونو برای این اسپم میدید. و اگه تعداد پیامها بیشتر از n تا شد پیام های گذشته رو از تاریخچه حذف کنید.
داده های مورد نیاز: تاریخ n پیام اخر کاربر
🔖 روش سوم:
روش سوم استفاده از یک عدد spam_factor هست. از همون قاعده n پیام در m ثانیه استفاده میکنه ولی به صورت نرم تر. به طوری که اگه کاربر خیلی وقته از بات استفاده میکنه و یهو تعداد پیام زیادی بیاد دیرتر اسپم درنظر میگیره. ولی اگه درحال اسپم زدن باشه خیلی سختگیرانه تر عمل میکنه. شما باید بجای n پیام اخر یک عدد spam_factor دیفالت 2 و یک عدد اختلاف زمانی پیام فعلی تا پیام قبلی difftime را حساب کنید. با هر پیام spam_factor رو اپدیت و ذخیره کنید:
اگه spam_factor کمتر از 1 (نه خود 1) شد یعنی اسپم برای اون کاربر تشخیص داده شده.
داده های مورد نیاز: عدد spam_factor و تاریخ اخرین پیام قبلی
🔖 روش اول:
روش اول برای جلوگیری از اف شدن ربات به هردلیلی در فشار زیاد و پندینگ هست. تو این روش شما پندینگ هارو باید محدود کنید تا برای مثال پیام های دریافتی در 10 ثانیه قبل پردازش نشوند.
داده های مورد نیاز: تاریخ ارسال اپدیت فعلی
🔖 روش دوم:
روش دوم که خیلی معمول تر هست برای اجرا شدن قاعده n پیام در m ثانیه هست. روش اینه که شما زمان n پیام اخر کاربر رو ذخیره کنید و در نهایت اگه زمان اولین پیام کمتر از m ثانیه گذشته باشه یعنی قاعده نقض شده و کاربر درحال اسپم کردن هست و شما پاسخ مورد نظر خودتونو برای این اسپم میدید. و اگه تعداد پیامها بیشتر از n تا شد پیام های گذشته رو از تاریخچه حذف کنید.
داده های مورد نیاز: تاریخ n پیام اخر کاربر
🔖 روش سوم:
روش سوم استفاده از یک عدد spam_factor هست. از همون قاعده n پیام در m ثانیه استفاده میکنه ولی به صورت نرم تر. به طوری که اگه کاربر خیلی وقته از بات استفاده میکنه و یهو تعداد پیام زیادی بیاد دیرتر اسپم درنظر میگیره. ولی اگه درحال اسپم زدن باشه خیلی سختگیرانه تر عمل میکنه. شما باید بجای n پیام اخر یک عدد spam_factor دیفالت 2 و یک عدد اختلاف زمانی پیام فعلی تا پیام قبلی difftime را حساب کنید. با هر پیام spam_factor رو اپدیت و ذخیره کنید:
spam_factor = 1/m * difftime + (n-1)/n * spam_factorاگه spam_factor کمتر از 1 (نه خود 1) شد یعنی اسپم برای اون کاربر تشخیص داده شده.
داده های مورد نیاز: عدد spam_factor و تاریخ اخرین پیام قبلی
👍6
🧪 مقایسه ریاضی سیستم های ارسال مجدد کد با سیستم کد ثابت هنگام احراز هویت.
دو حالت زیر رو فرض کنید:
1️⃣ سیستمی که کد احراز هویت 5 رقمی برای شما ارسال میکند و هر 5 بار تست کد جدیدی را ارسال میکند و ان را از شما میخاد.
2️⃣ سیستمی که کد احراز هویت 5 رقمی رو برای شما ارسال کرده و منقضی نمیکند و همونو میخاد.
احتمالش رو توی 70000 بار تست بررسی میکنیم.
🔅 حالت اول
در این حالت احتمال اینکه با 5 تست توی کد ثابت به جواب بشه رسید 5/100000 هست و تعداد تست های 5 تایی 70000/5 برابر 14000 تست خواهد بود. احتمال 14000 بار موفق نشدن احتمال 5/100000 برابر
1 - (1 - 5/10000)^14000 = 50.34%
پس شما 50 درصد شانس موفقیت دارید.
🔅 حالت دوم
در این حالت برای همه ازمایش ها توضیع یکنواخت بوده و هر تست 1/100000 احتمال موفقیت خواهد داشت پس
70000/100000 = 70%
و شما شانس موفقیت 70 درصدی دارید.
👈 بهتر هست همیشه کد های احراز هویت برنامه های خود را بعد از چند بار ازمایش منقضی کرده و دوباره ارسال کنید.
دو حالت زیر رو فرض کنید:
1️⃣ سیستمی که کد احراز هویت 5 رقمی برای شما ارسال میکند و هر 5 بار تست کد جدیدی را ارسال میکند و ان را از شما میخاد.
2️⃣ سیستمی که کد احراز هویت 5 رقمی رو برای شما ارسال کرده و منقضی نمیکند و همونو میخاد.
احتمالش رو توی 70000 بار تست بررسی میکنیم.
🔅 حالت اول
در این حالت احتمال اینکه با 5 تست توی کد ثابت به جواب بشه رسید 5/100000 هست و تعداد تست های 5 تایی 70000/5 برابر 14000 تست خواهد بود. احتمال 14000 بار موفق نشدن احتمال 5/100000 برابر
1 - (1 - 5/10000)^14000 = 50.34%
پس شما 50 درصد شانس موفقیت دارید.
🔅 حالت دوم
در این حالت برای همه ازمایش ها توضیع یکنواخت بوده و هر تست 1/100000 احتمال موفقیت خواهد داشت پس
70000/100000 = 70%
و شما شانس موفقیت 70 درصدی دارید.
👈 بهتر هست همیشه کد های احراز هویت برنامه های خود را بعد از چند بار ازمایش منقضی کرده و دوباره ارسال کنید.
👍1
بچهها لپتاپ با این مشخصات چقد در میاد قیمتش؟
Cpu i76700
Ram 16
Ssd 120
Hdd 512
GT1030 2gig ddr5
میدونم قدیمیه
Cpu i76700
Ram 16
Ssd 120
Hdd 512
GT1030 2gig ddr5
میدونم قدیمیه