Forwarded from متخصص وردپرس | پوینا
فیشینگ
یه پیامک اینطوری برات میاد که شکایتت کردن
بعد این لینکم فقط با گوشی میتونی باز کنی
وقتی باز کردی کد ملیت و اسمت و اینا میزنی میگه اپلیکشن دانلود کن وقتی دانلود کردی و نصب کردی
گوشیت هک میشه و بعد گوشی شما میشه قربانی و به وسیله گوشی شما برای همه پیامک میفرستن حساب بقیه هم خالی میکنن
نکته جالبش اینه کد ملی رو غلط بزنی اجازه نمیده دانلود کنی تا مثلا بگن ما معتبر هستیم
اگرم طرف رو دستگیر کردن میری دادگاه میبنی یه بچه ۱۲ ساله حسابت خالی کرده پولتم دیگه نمیدن
@poinair پوینا
یه پیامک اینطوری برات میاد که شکایتت کردن
بعد این لینکم فقط با گوشی میتونی باز کنی
وقتی باز کردی کد ملیت و اسمت و اینا میزنی میگه اپلیکشن دانلود کن وقتی دانلود کردی و نصب کردی
گوشیت هک میشه و بعد گوشی شما میشه قربانی و به وسیله گوشی شما برای همه پیامک میفرستن حساب بقیه هم خالی میکنن
نکته جالبش اینه کد ملی رو غلط بزنی اجازه نمیده دانلود کنی تا مثلا بگن ما معتبر هستیم
اگرم طرف رو دستگیر کردن میری دادگاه میبنی یه بچه ۱۲ ساله حسابت خالی کرده پولتم دیگه نمیدن
@poinair پوینا
Forwarded from کداکسپلور | CodeExplore (Aqa Reza)
<canvas> توی HTML مثل یه صفحه نقاشی خالیه که باهاش میتونی هرچی دلت میخواد بکشی. البته خودش چیزی نشون نمیده؛ باید با جاوااسکریپت (یه زبان برنامهنویسی که توی وب استفاده میشه) بهش بگی چی بکشه.- عرض و ارتفاع (width و height): اینا اندازه صفحه نقاشیت رو مشخص میکنن. اگه نذاری، خودش یه اندازه پیشفرض داره (300 در 150 پیکسل).
- جاوااسکریپت: با جاوااسکریپت میتونی روی این صفحه نقاشی خط بکشی، دایره و مستطیل بکشی، یا حتی عکس بذاری.
یه مثال ساده:
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
مرورگر شما از تگ Canvas پشتیبانی نمیکند.
</canvas>
<noscript>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// کشیدن یه مستطیل قرمز
ctx.fillStyle = "#FF0000";
ctx.fillRect(20, 20, 150, 75);
</noscript>
</body>
</html>
اینجا یه صفحه نقاشی به اندازه 200 در 100 پیکسل درست کردیم و با جاوااسکریپت توش یه مستطیل قرمز کشیدیم. این کارها رو با چند خط کد ساده انجام دادیم.
- کشیدن نمودارها و گرافها
- رسم شکلهای دوبعدی
- انیمیشنهای ساده
- بازیهای تحت وب
#canvas #html #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ninja Learn | نینجا لرن
💎 هدر X-Powered-By 💎
فرض کن یه ماشین خیلی خوشگلی داری. روی این ماشین یه برچسب کوچولو هست که نوشته "ساخت ایران". این برچسب به همه میگه که ماشینت ایرانیه.
هدر X-Powered-By هم دقیقا همین کارو برای وبسایت ها انجام میده. این هدر یه برچسب کوچولوئه که به همه میگه این وبسایت با چه زبان/فریمورکی ساخته شده.
مثلاً ممکنه بنویسه "ساخته شده با وردپرس" یا "ساخته شده با جاوا اسکریپت".
❓چرا مهمه؟
خب، این برچسب کوچولو یه دردسر کوچولو هم داره!
هکرها با دیدن این برچسب میتونن بفهمند که وبسایت با چه زبان یا فریمورکی ساخته شده. بعدش میرن سراغ اون زبان یا فریمورک و دنبال یه در کوچولو میگردن که بتونن ازش وارد وبسایت بشن و اطلاعات مهم رو بدزدن.
✅ مثال:
فرض کن یه وبسایت فروشگاهی با وردپرس ساخته شده.
یه هکر با دیدن هدر X-Powered-By میفهمه که این وبسایت با وردپرس ساخته شده.
بعدش میره تو اینترنت و دنبال یه راه برای هک کردن وردپرس میگرده. اگه این راه رو پیدا کنه، میتونه وارد وبسایت بشه و اطلاعات کارت های اعتباری مشتری ها رو بدزده.
❓چه کار کنیم که امنیت وبسایتمون بیشتر بشه؟
1⃣ این هدر رو مخفی کنیم: خیلی از زبان ها و فریمورک هایی که برای ساخت وبسایت استفاده میشن، این امکان رو بهمون میدن که این هدر رو مخفی کنیم. با این کار هکرها نمی تونن بفهمند که وبسایتمون با چه نرم افزاری ساخته شده.
2⃣ زبان/فریمورک مون رو همیشه آپدیت کنیم: هر زبان و فریمورکی ممکنه ایرادهایی داشته باشه. توسعه دهنده ها با آپدیت کردن این ایرادها رو برطرف میکنن. پس اگه زبان و فریمورکمون رو همیشه آپدیت کنیم، هکرها نمیتونن از این ایرادها برای هک کردن وبسایتمون استفاده کنند.
3⃣ از فایروال استفاده کنیم: فایروال مثل یه نگهبان برای وبسایتمون عمل میکنه. فایروال جلوی حملات هکرها رو میگیره و اجازه نمیده که به وبسایتمون آسیب برسونن.
☑️ خلاصه داستان:
هدر X-Powered-By یه برچسب کوچولوئه که به هکرها اطلاعات میده. برای اینکه وبسایتمون امن باشه باید این برچسب رو مخفی کنیم، زبان/فریمورک مون رو آپدیت کنیم و از فایروال استفاده کنیم.
🔴 نکته مهم:
امنیت وبسایت فقط به این هدر ختم نمیشه. خیلی چیزای دیگه هم هست که باید بهشون توجه کرد. مثلاً استفاده از رمزهای عبور قوی، بکاپ گرفتن از اطلاعات وبسایت و...
سوالی دارید بپرسید 🌹
فرض کن یه ماشین خیلی خوشگلی داری. روی این ماشین یه برچسب کوچولو هست که نوشته "ساخت ایران". این برچسب به همه میگه که ماشینت ایرانیه.
هدر X-Powered-By هم دقیقا همین کارو برای وبسایت ها انجام میده. این هدر یه برچسب کوچولوئه که به همه میگه این وبسایت با چه زبان/فریمورکی ساخته شده.
مثلاً ممکنه بنویسه "ساخته شده با وردپرس" یا "ساخته شده با جاوا اسکریپت".
❓چرا مهمه؟
خب، این برچسب کوچولو یه دردسر کوچولو هم داره!
هکرها با دیدن این برچسب میتونن بفهمند که وبسایت با چه زبان یا فریمورکی ساخته شده. بعدش میرن سراغ اون زبان یا فریمورک و دنبال یه در کوچولو میگردن که بتونن ازش وارد وبسایت بشن و اطلاعات مهم رو بدزدن.
✅ مثال:
فرض کن یه وبسایت فروشگاهی با وردپرس ساخته شده.
یه هکر با دیدن هدر X-Powered-By میفهمه که این وبسایت با وردپرس ساخته شده.
بعدش میره تو اینترنت و دنبال یه راه برای هک کردن وردپرس میگرده. اگه این راه رو پیدا کنه، میتونه وارد وبسایت بشه و اطلاعات کارت های اعتباری مشتری ها رو بدزده.
❓چه کار کنیم که امنیت وبسایتمون بیشتر بشه؟
1⃣ این هدر رو مخفی کنیم: خیلی از زبان ها و فریمورک هایی که برای ساخت وبسایت استفاده میشن، این امکان رو بهمون میدن که این هدر رو مخفی کنیم. با این کار هکرها نمی تونن بفهمند که وبسایتمون با چه نرم افزاری ساخته شده.
2⃣ زبان/فریمورک مون رو همیشه آپدیت کنیم: هر زبان و فریمورکی ممکنه ایرادهایی داشته باشه. توسعه دهنده ها با آپدیت کردن این ایرادها رو برطرف میکنن. پس اگه زبان و فریمورکمون رو همیشه آپدیت کنیم، هکرها نمیتونن از این ایرادها برای هک کردن وبسایتمون استفاده کنند.
3⃣ از فایروال استفاده کنیم: فایروال مثل یه نگهبان برای وبسایتمون عمل میکنه. فایروال جلوی حملات هکرها رو میگیره و اجازه نمیده که به وبسایتمون آسیب برسونن.
☑️ خلاصه داستان:
هدر X-Powered-By یه برچسب کوچولوئه که به هکرها اطلاعات میده. برای اینکه وبسایتمون امن باشه باید این برچسب رو مخفی کنیم، زبان/فریمورک مون رو آپدیت کنیم و از فایروال استفاده کنیم.
🔴 نکته مهم:
امنیت وبسایت فقط به این هدر ختم نمیشه. خیلی چیزای دیگه هم هست که باید بهشون توجه کرد. مثلاً استفاده از رمزهای عبور قوی، بکاپ گرفتن از اطلاعات وبسایت و...
سوالی دارید بپرسید 🌹
Forwarded from DevTwitter | توییت برنامه نویسی
ابزار قدرتمند ChartDB رقیب جدی Drawdb (بسیار شبیه)
یک ویرایشگر web-based طراحی دیاگرام دیتابیس، که database schema را با یک Smart Query میتواند سریع visualize کند و خروجی SQL noscripts بدهد
تمام این امکانات بدون حتی نیاز به لاگین
github.com/chartdb/chartdb
@DevTwitter | <MehrdadLinux/>
یک ویرایشگر web-based طراحی دیاگرام دیتابیس، که database schema را با یک Smart Query میتواند سریع visualize کند و خروجی SQL noscripts بدهد
تمام این امکانات بدون حتی نیاز به لاگین
github.com/chartdb/chartdb
@DevTwitter | <MehrdadLinux/>
Forwarded from مشورت کامپیوتریها (SRB)
Media is too big
VIEW IN TELEGRAM
#یک_دقیقه_با_کامپیوتر
#Skimming_Card
[تلگرام | اینستاگرام | ویرگول | اسپاتیفای | کستباکس | اپلپادکست]
🔰مشورت کامپیوتری ها
@coaching_ce
#Skimming_Card
[تلگرام | اینستاگرام | ویرگول | اسپاتیفای | کستباکس | اپلپادکست]
🔰مشورت کامپیوتری ها
@coaching_ce
Forwarded from مشورت کامپیوتریها (SRB)
#یک_دقیقه_با_کامپیوتر
💻در مجموعه یک دقیقه با کامپیوتر سعی میکنیم در کمتر از یک دقیقه مفاهیم دنیای کامپیوتر را به صورت ساده و جذاب بیان کنیم. محتوای این مجموعه برشهایی کوتاه از پادکستها هستند که سعی میشود با عوامل بصری متفاوت ارائه شود.
🔥این یک دقیقه با#Skimming_Card
✅این یک دقیقه برشی از قسمت چهارم پادکست مشورت کامپیوتریها بود.
[تلگرام | اینستاگرام | ویرگول | اسپاتیفای | کستباکس | اپلپادکست]
🔰مشورت کامپیوتری ها
@coaching_ce
💻در مجموعه یک دقیقه با کامپیوتر سعی میکنیم در کمتر از یک دقیقه مفاهیم دنیای کامپیوتر را به صورت ساده و جذاب بیان کنیم. محتوای این مجموعه برشهایی کوتاه از پادکستها هستند که سعی میشود با عوامل بصری متفاوت ارائه شود.
🔥این یک دقیقه با
[تلگرام | اینستاگرام | ویرگول | اسپاتیفای | کستباکس | اپلپادکست]
🔰مشورت کامپیوتری ها
@coaching_ce
Forwarded from محتوای آزاد سهراب
Forwarded from Source Byte (Anastasia 🐞)
The SOS Intelligence CVE Chatter Weekly Top Ten
This weekly blog post is from via our unique intelligence collection pipelines. We are your eyes and ears online, including the Dark Web.
https://sosintel.co.uk/category/cve-top-10/
———
CISA (America's Cyber Defence Agency )
Bulletins provide weekly summaries of new vulnerabilities.
https://www.cisa.gov/news-events/bulletins
———
This weekly blog post is from via our unique intelligence collection pipelines. We are your eyes and ears online, including the Dark Web.
https://sosintel.co.uk/category/cve-top-10/
———
CISA (
Bulletins provide weekly summaries of new vulnerabilities.
https://www.cisa.gov/news-events/bulletins
———
Forwarded from کالی بویز | ترفند | تکنولوژی
✔️ چرا تلگرام امنه و همه کشور ها به دنبال صاحب اون هستن؟!
توی این توئیت کامل به این موضوع پرداختن.
➖➖➖➖➖➖
💻 @kaliboys | کالی بویز
توی این توئیت کامل به این موضوع پرداختن.
➖➖➖➖➖➖
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 یوتیوبرها اکنون میتوانند با قابلیت Courses یوتیوب، از مهارتهایشان کسب درآمد کنند
یوتیوب ویژگی جدیدی با نام Courses را مخصوص تولیدکنندگان محتوایی توسعه داده است که قصد دارند محتوای آموزشی منظمی را بهصورت مستقیم ازطریق کانال یوتیوب خود منتشر کنند. این ویژگی ابتدا در سال ۲۰۲۲ رونمایی شد و با تعداد مشخصی از سازندگان محتوا مورد آزمایش قرار گرفت.
#خبر
@TheRaymondDev
یوتیوب ویژگی جدیدی با نام Courses را مخصوص تولیدکنندگان محتوایی توسعه داده است که قصد دارند محتوای آموزشی منظمی را بهصورت مستقیم ازطریق کانال یوتیوب خود منتشر کنند. این ویژگی ابتدا در سال ۲۰۲۲ رونمایی شد و با تعداد مشخصی از سازندگان محتوا مورد آزمایش قرار گرفت.
#خبر
@TheRaymondDev
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
تلگرام چطوری از داده ها در دیتاسنتر های مختلف حفاظت میکنه ؟ (توضیح تلگرام)
خب متن توی تصاویر بخونید تا حدودی توضیح غیر علمیش رو متوجه میشید
خب حالا بریم ببینیم چطور میشه همچین سیستمی طراحی کرد ؟(سعی میکنم خیلی ساده توضیح بدم که هر شخصی با هر دانشی متوجه بشه)
خب اول بیاییم چند حالت رو در نظر بگیریم :
۱- در یک سیستم بزرگ، برای راه اندازیش از سرور مجازی ، استفاده نمیشه و از سرور های اختصاصی استفاده میشه (هر سرور اختصاصی رو یک کیس کامپیوتر در نظر بگیرید، و توی سرور مجازی فرض کنید که چندتا سرور مجازی میشه روی یک کامپیوتر راه انداخت، مثلا کامپیوتر ۲ تا ویندوز ۱۰ و ۱۱ روش دوال بوت نصب باشه یا با مجازی ساز ها اینکار روش انجام شده باشه*
۲- با در نظر گرفتن فرض اول ، اگر کامپیوتر شما توی اتاقتون باشه و پدر مادرتون بخواد بره کامپیوترتون رو نگاه کنه، نیاز به رمز عبور داره، اگر کامپیوتر شما مجازی باشه احتمالا به راحتی پسورد رو عوض میکنه
۳- به سرورت که نمیتونن دسترسی پیدا کنن چون رمز داره، اما میتونن هارد هارو در بیارن و سعی کنن ببینن چه اطلاعاتی داخلش هست
ادامه پست بعدی
@SEYED_BAX
خب متن توی تصاویر بخونید تا حدودی توضیح غیر علمیش رو متوجه میشید
خب حالا بریم ببینیم چطور میشه همچین سیستمی طراحی کرد ؟(سعی میکنم خیلی ساده توضیح بدم که هر شخصی با هر دانشی متوجه بشه)
خب اول بیاییم چند حالت رو در نظر بگیریم :
۱- در یک سیستم بزرگ، برای راه اندازیش از سرور مجازی ، استفاده نمیشه و از سرور های اختصاصی استفاده میشه (هر سرور اختصاصی رو یک کیس کامپیوتر در نظر بگیرید، و توی سرور مجازی فرض کنید که چندتا سرور مجازی میشه روی یک کامپیوتر راه انداخت، مثلا کامپیوتر ۲ تا ویندوز ۱۰ و ۱۱ روش دوال بوت نصب باشه یا با مجازی ساز ها اینکار روش انجام شده باشه*
۲- با در نظر گرفتن فرض اول ، اگر کامپیوتر شما توی اتاقتون باشه و پدر مادرتون بخواد بره کامپیوترتون رو نگاه کنه، نیاز به رمز عبور داره، اگر کامپیوتر شما مجازی باشه احتمالا به راحتی پسورد رو عوض میکنه
۳- به سرورت که نمیتونن دسترسی پیدا کنن چون رمز داره، اما میتونن هارد هارو در بیارن و سعی کنن ببینن چه اطلاعاتی داخلش هست
ادامه پست بعدی
@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
خب بریم سراغ پیاده سازی یک سیستم خیلی ساده برای توضیح منطق چنین برنامه ای :
در سیستم های توزیع شده (یعنی رو خیلی سرور باشن) ممکنه یک یا چند کلاستر داشته باشیم، هر کلاستر هم خیلی سرور رو به هم وصل میکنه(مثلا ۵ هزارتا سرور)، خود کلاستر ها هم میشه به هم متصل کرد
وقتی شما از یک دیتابیس یا سیستم ذخیره فایل یا یک برنامه استفاده میکنی، یکسری قابلیت توزیع داره که فایل رو هم به صورت کامل هم به صورت تکه تکه شده ممکنه توی جاهای مختلف ذخیره کنه
فرض بگیرید شما یک فایل ۱ گیگابایتی توی تلگرام آپلود میکنی ، آیا فایل شما فقط یک گیگ از سرور های تلگرام رو اشغال کرده ؟ خیر ممکنه کمی بیشتر یا حتی چند برابر، چرا ؟ چون اگر یکی از سرور ها هاردش سوخت بتونن فایل شمارو از باقی سرور ها سر هم کنند، این عملیات هم خودکار توسط سیستم استوریج انجام میشه، برای مثال MinIO که بر پایه s3 هستش چنین سیستمی رو فراهم میکنه
پس در سیستم های توزیع شده اگر هارد بسوزه یا حتی چندین سرور برقشون قطع بشه، کل سیستم از بین نمیره، بلکه ممکنه سرعت کمی کند تر بشه، چون اون از اسکیل که برای هندل اونقدر کاربر مورد نظرمون هستیم کمی منابعمون کمتر شده( مثل زمانی که ایلان ماسک سرور های توییتر رو گذاشت توی ماشینش و برد یک دیتاسنتر دیگه، یک ماه این فرایند انتقال طول کشید،توییتر قطع نبود توی این یک ماه، ولی بشدت کند بود، چون کمتر از تعداد لازم سرور برای این همه کاربر، سرور داشت )
خب حالا میمونه چی ؟ رمزنگاری داده ها، تلگرام مشخص نکرده ایا تعداد کلید ها ثابت هست یا متغیر، اگر کلید ها متغیر باشن سیستم باید پیچیده و پیچیده تر بشه
حالا فرض کنید که تلگرام مجبوره داده های کاربران اروپا رو توی اروپا، کاربرای اسیا رو توی آسیا، امریکا رو توی امریکا ذخیره کنه، چرا ؟ یا اجبار دولت ها (اروپا چنین قانونی رو داره) یا کم شدن پینگ کاربر ها، بالاخره هر چه دیتا از سرور نزدیک تری براش دریافت بشه سرعت بهتری رو تجربه میکنه
پس میاد کلید های رمز سرور های اروپا رو میریزه توی اسیا و امریکا، و کلید های امریکارو میریزه توی اروپا و اسیا و ...
ادامه پست بعدی
@SEYED_BAX
در سیستم های توزیع شده (یعنی رو خیلی سرور باشن) ممکنه یک یا چند کلاستر داشته باشیم، هر کلاستر هم خیلی سرور رو به هم وصل میکنه(مثلا ۵ هزارتا سرور)، خود کلاستر ها هم میشه به هم متصل کرد
وقتی شما از یک دیتابیس یا سیستم ذخیره فایل یا یک برنامه استفاده میکنی، یکسری قابلیت توزیع داره که فایل رو هم به صورت کامل هم به صورت تکه تکه شده ممکنه توی جاهای مختلف ذخیره کنه
فرض بگیرید شما یک فایل ۱ گیگابایتی توی تلگرام آپلود میکنی ، آیا فایل شما فقط یک گیگ از سرور های تلگرام رو اشغال کرده ؟ خیر ممکنه کمی بیشتر یا حتی چند برابر، چرا ؟ چون اگر یکی از سرور ها هاردش سوخت بتونن فایل شمارو از باقی سرور ها سر هم کنند، این عملیات هم خودکار توسط سیستم استوریج انجام میشه، برای مثال MinIO که بر پایه s3 هستش چنین سیستمی رو فراهم میکنه
پس در سیستم های توزیع شده اگر هارد بسوزه یا حتی چندین سرور برقشون قطع بشه، کل سیستم از بین نمیره، بلکه ممکنه سرعت کمی کند تر بشه، چون اون از اسکیل که برای هندل اونقدر کاربر مورد نظرمون هستیم کمی منابعمون کمتر شده( مثل زمانی که ایلان ماسک سرور های توییتر رو گذاشت توی ماشینش و برد یک دیتاسنتر دیگه، یک ماه این فرایند انتقال طول کشید،توییتر قطع نبود توی این یک ماه، ولی بشدت کند بود، چون کمتر از تعداد لازم سرور برای این همه کاربر، سرور داشت )
خب حالا میمونه چی ؟ رمزنگاری داده ها، تلگرام مشخص نکرده ایا تعداد کلید ها ثابت هست یا متغیر، اگر کلید ها متغیر باشن سیستم باید پیچیده و پیچیده تر بشه
حالا فرض کنید که تلگرام مجبوره داده های کاربران اروپا رو توی اروپا، کاربرای اسیا رو توی آسیا، امریکا رو توی امریکا ذخیره کنه، چرا ؟ یا اجبار دولت ها (اروپا چنین قانونی رو داره) یا کم شدن پینگ کاربر ها، بالاخره هر چه دیتا از سرور نزدیک تری براش دریافت بشه سرعت بهتری رو تجربه میکنه
پس میاد کلید های رمز سرور های اروپا رو میریزه توی اسیا و امریکا، و کلید های امریکارو میریزه توی اروپا و اسیا و ...
ادامه پست بعدی
@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
حالا یک کد خیلی ساده برای رمز نگاری یک متن در ادامه میزارم که میتونید بخونیدش، که چطوری میشه رمز کرد یک متن رو و کلیدش رو چندجای مختلف ذخیره کرد، هر وقت هم بخوایم متن رو برگردونیم کلید هارو لود میکنیم و متن رو بازیابی میکنیم
دوستان توجه کنید کسی که نفوذ کرده به سیستم و میتونه روی کد های سرور تغییری ایجاد کنه احتمالا دسترسی به هر داده ای میتونه داشته باشه، تمام این صحبت ها برای اینه که اون کشور نره سراغ سرور و کابل هارو جدا کنه و بشینه اطلاعاتش رو بخونه
توضیحات کد:
1. تولید کلید رمزنگاری: تابع generate_key یک کلید تصادفی ۳۲ بایتی برای رمزنگاری AES تولید میکند.
2. رمزنگاری و رمزگشایی: توابع encrypt_data و decrypt_data دادهها را با استفاده از الگوریتم AES و حالت CBC رمزنگاری و رمزگشایی میکنند.
3. تقسیم و بازسازی کلید: تابع split_key کلید را به چند بخش تقسیم میکند تا بتوان این بخشها را در مکانهای مختلف نگهداری کرد. تابع combine_key این بخشها را ترکیب کرده و کلید اصلی را بازسازی میکند.
4. دیتاسنترهای مختلف: در این مثال فرض شده که هر بخش از کلید در یک دیتاسنتر جداگانه ذخیره میشود.
@SEYED_BAX
دوستان توجه کنید کسی که نفوذ کرده به سیستم و میتونه روی کد های سرور تغییری ایجاد کنه احتمالا دسترسی به هر داده ای میتونه داشته باشه، تمام این صحبت ها برای اینه که اون کشور نره سراغ سرور و کابل هارو جدا کنه و بشینه اطلاعاتش رو بخونه
import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives import padding
from cryptography.hazmat.backends import default_backend
import base64
# ایجاد یک کلید رمزنگاری (این کلید باید امن و در جای مناسب نگهداری شود)
def generate_key():
return os.urandom(32)
# رمزنگاری دادهها
def encrypt_data(data, key):
# پدینگ دادهها برای رمزنگاری
padder = padding.PKCS7(128).padder()
padded_data = padder.update(data) + padder.finalize()
# ایجاد IV برای حالت رمزنگاری CBC
iv = os.urandom(16)
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
encryptor = cipher.encryptor()
encrypted_data = encryptor.update(padded_data) + encryptor.finalize()
# بازگشت داده رمزنگاری شده به همراه IV
return base64.b64encode(iv + encrypted_data)
# رمزگشایی دادهها
def decrypt_data(encrypted_data, key):
encrypted_data = base64.b64decode(encrypted_data)
iv = encrypted_data[:16]
encrypted_data = encrypted_data[16:]
cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
decryptor = cipher.decryptor()
padded_data = decryptor.update(encrypted_data) + decryptor.finalize()
# حذف پدینگ از دادهها
unpadder = padding.PKCS7(128).unpadder()
data = unpadder.update(padded_data) + unpadder.finalize()
return data
# تقسیم کلید به چند بخش (توزیع کلیدها)
def split_key(key, parts=3):
key_parts = []
for _ in range(parts - 1):
part = os.urandom(len(key))
key_parts.append(part)
key = bytes(a ^ b for a, b in zip(key, part))
key_parts.append(key)
return key_parts
# ترکیب کلیدها برای بازسازی کلید اصلی
def combine_key(key_parts):
key = key_parts[0]
for part in key_parts[1:]:
key = bytes(a ^ b for a, b in zip(key, part))
return key
# مثال عملی
data = b"Sensitive user data that needs protection"
# تولید کلید و رمزنگاری دادهها
key = generate_key()
encrypted_data = encrypt_data(data, key)
print("Encrypted data:", encrypted_data)
# تقسیم کلید
key_parts = split_key(key, parts=3)
# ذخیره کلیدها در دیتاسنترهای مختلف (این بخش فرضی است)
datacenter1 = key_parts[0]
datacenter2 = key_parts[1]
datacenter3 = key_parts[2]
# بازسازی کلید اصلی
reconstructed_key = combine_key([datacenter1, datacenter2, datacenter3])
# رمزگشایی دادهها
decrypted_data = decrypt_data(encrypted_data, reconstructed_key)
print("Decrypted data:", decrypted_data)
توضیحات کد:
1. تولید کلید رمزنگاری: تابع generate_key یک کلید تصادفی ۳۲ بایتی برای رمزنگاری AES تولید میکند.
2. رمزنگاری و رمزگشایی: توابع encrypt_data و decrypt_data دادهها را با استفاده از الگوریتم AES و حالت CBC رمزنگاری و رمزگشایی میکنند.
3. تقسیم و بازسازی کلید: تابع split_key کلید را به چند بخش تقسیم میکند تا بتوان این بخشها را در مکانهای مختلف نگهداری کرد. تابع combine_key این بخشها را ترکیب کرده و کلید اصلی را بازسازی میکند.
4. دیتاسنترهای مختلف: در این مثال فرض شده که هر بخش از کلید در یک دیتاسنتر جداگانه ذخیره میشود.
@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
جوان ایرانی کل انرژی و استعدادش رو میذاره تا یه محتوای کنایی و طنز تولید کنه ولی میبینه مسئول محترم بدون اینکه خنده اش بگیره اون کارو انجام داده 🤣🤣
@SEYED_BAX
@SEYED_BAX
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
💦💦💦💦💦
Forwarded from سید فرندز / برنامه نویسی / هک و امنیت / تکنولوژی (SeYeD.Dev)
هیچی نیست، من شاشیدم به ایفون
چند دقیقه تو حیاط ویدیو گرفتم، گوشی داغ کرده دوربینش باز نمیشد گرفتم جلو کولر تا درست بشه
بعد ویدیو ها اپلود خواستم بکنم توی تلگرام، وسطش یهو نوتیف پیامک اومد رفتم چک کنم، اپلودا کنسل شد
میخواستم واسه ادیتور متن بنویسم، کیبوردش لگ میزد
ایشالا در اولین فرصتی که پول بیاد دستم عوضش میکنم و یک گوشی درست و حسابی میخرم
گند بزنن #اپل رو
@SEYED_BAX
چند دقیقه تو حیاط ویدیو گرفتم، گوشی داغ کرده دوربینش باز نمیشد گرفتم جلو کولر تا درست بشه
بعد ویدیو ها اپلود خواستم بکنم توی تلگرام، وسطش یهو نوتیف پیامک اومد رفتم چک کنم، اپلودا کنسل شد
میخواستم واسه ادیتور متن بنویسم، کیبوردش لگ میزد
ایشالا در اولین فرصتی که پول بیاد دستم عوضش میکنم و یک گوشی درست و حسابی میخرم
گند بزنن #اپل رو
@SEYED_BAX