Free Programmers | برنامه نویسان آزاد
45 subscribers
63 photos
2 videos
5 files
43 links
Free Programmers community
For
ENGLISH
PERSIAN
#webdev
#js
#nodejs
#php
Email : support@blogfreedom.ir
Download Telegram
آموزش پاک کردن html از جاوا اسکرپیت و جلوگیری از حملات xss با php:
توضيحات:
میتوانید از کد برای مثال در ادیتور های وبلاگ استفاده کنید که گاهی نیاز به html سفارشی دارند.
<?php

/**
* تابع برای پاکسازی HTML و جلوگیری از جاوااسکریپت و حملات XSS
*
* @param string $html ورودی HTML خام
* @return string خروجی HTML پاکسازی شده
*/
function sanitize_input($html) {
// مرحله 1: حذف تگ‌های جاوااسکریپت (مثل <script>) و هرگونه محتوای درون آنها
$html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html);

// مرحله 2: حذف تگ‌های غیرمجاز که ممکن است خطرناک باشند
$disallowed_tags = ['iframe', 'object', 'embed', 'applet', 'style', 'link', 'meta', 'form', 'input', 'button'];
foreach ($disallowed_tags as $tag) {
$html = preg_replace('#<' . $tag . '(.*?)>(.*?)</' . $tag . '>#is', '', $html);
$html = preg_replace('#<' . $tag . '(.*?)>#is', '', $html);
}

// مرحله 3: حذف اتریبیوت‌هایی که ممکن است جاوااسکریپت اجرا کنند
// این شامل on* اتریبیوت‌ها (مثل onclick, onload) و style می‌شود
$html = preg_replace('/\s*on\w+\s*=\s*["\'].*?["\']/i', '', $html);
$html = preg_replace('/\s*style\s*=\s*["\'].*?["\']/i', '', $html); // جلوگیری از کدهای CSS مخرب

// مرحله 4: حذف هرگونه جاوااسکریپت در تگ‌های <a> و <img> (مثل href="javascript:...")
$html = preg_replace('/<a\s+[^>]*?href=["\']javascript:.*?["\']/i', '<a href="#"', $html);
$html = preg_replace('/<img\s+[^>]*?src=["\']javascript:.*?["\']/i', '', $html); // حذف img با javascript

// مرحله 5: حذف تگ‌های HTML ناشناخته یا غیرمجاز
$allowed_tags = '<p><a><b><i><strong><em><ul><ol><li><br><img><h1><h2><h3><h4><h5><h6>';
$html = strip_tags($html, $allowed_tags);

// مرحله 6: استفاده از htmlspecialchars برای جلوگیری از حملات XSS
$html = htmlspecialchars($html, ENT_QUOTES, 'UTF-8');

return $html;
}

// دریافت ورودی HTML از کاربر (مثلا از یک فرم)
$user_input_html = $_POST['content'] ?? '';

// پاکسازی HTML
$clean_html = sanitize_input($user_input_html);

// نمایش HTML پاکسازی شده
echo $clean_html;

?>

@Free_Programmers
7
کسی که اعتقاد دارد دیگران باید مشکلاتش را حل کنند، همانند کسی است که برای گذر از رودخانه منتظر است تا آب آن خشک شود.
#جمله
8
بررسی درست بودن ایمیل در جاوا اسکریپت
ما یک فانکشن (تابع) با نام validateEmail ایمیل درست میکنیم و به اون تابع مقدار ایمیل رو میدیم و درست یا غلطی اون رو بر میگرده اینجا مقدار (ثابت) email است که قبل از فراخوانی تابع در console.log آن را تعریف کرده و سپس در هنگام فراخوانی تابع، آن را به تابع میدهیم.
این تابع یک مقدار true (درست) یا غلط (false) رو بر میگردونه.
function validateEmail(email) {
    const re = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
    return re.test(String(email).toLowerCase());
}

// استفاده
const email = "example@example.com";
console.log(validateEmail(email)); // true یا false

به کامنت ها توجه کنید.
#کد
#جاوا_اسکریپت
👨‍💻 @Free_Programmers | برنامه نویسان آزاد
7
ایجاد رمز عبور تصادفی در php
فانکشن را صدا میکنیم generateRandomPassword و بعنوان پارامتر به آن طول پسورد را میدهیم و میتونیم آن را در یک متغیر ذخیره کنیم. که در کد زیر در متغیر $RANDPASS ذخیره کردیم
function generateRandomPassword($length = 8) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()';
$password = substr(str_shuffle($chars), 0, $length);
return $password;
}

// استفاده
$RANPASS = generateRandomPassword(12); // خروجی: رمز عبور 12 کاراکتری تصادفی

#کد
#پی_اچ_پی
👨‍💻 @Free_Programmers | برنامه نویسان آزاد
👏7
آموزش فعال کردن حافظه چت جی پی تی ای:
1. روی پروفایل خود در سایت chatgpt.com کلیک کنید.
2. روی Setting ضربه و به بخش Personalization بروید.
3. قابلیت Memory را فعال کنید.
توضیحات در مورد این قابلیت پرسیده شده از خود ChatGpt:
قابلیت "Memory" به من این امکان را می‌دهد که اطلاعاتی که کاربر با من به اشتراک می‌گذارد را به یاد داشته باشم و در مکالمات آینده از آن استفاده کنم. این کمک می‌کند تا پاسخ‌هایم شخصی‌تر و مرتبط‌تر با نیازهای کاربر باشد. همچنین می‌توانم اطلاعاتی که دیگر نیاز نیست را فراموش کنم یا به‌روزرسانی کنم.
#هوش_مصنوعی
@Free_Programmers
🔥7
قسمت چهارم آموزش برنامه‌نویسی وب منتشر شد.
#آموزش
سری آموزش برنامه نویسی وب در وبلاگ آزادی، سعی میکند تمام مهارت هایی که یک برنامه‌نویس یا طراح وب نیاز دارد را آموزش دهد.

در این قسمت (چهارم) css درون خطی و داخلی رو کمی یاد میگیریم و به سراغ ساختن جدول هم میریم. و سبک متن و ....
https://blogfreedom.ir/view_post.php?post_id=48
🔥7
وبلاگ آزادی تا ۲ روز الی ۳ روز آینده برای انتقال هاست و کانفیگ دوباره از دسترس خارج خواهد شد.
💔8
Free Programmers | برنامه نویسان آزاد
وبلاگ آزادی تا ۲ روز الی ۳ روز آینده برای انتقال هاست و کانفیگ دوباره از دسترس خارج خواهد شد.
وبلاگ آزادی دوباره به حالت عادیش برگشت.
سرعت بیشتر شد.
فضای هاست بیشتر شد.
ادیتور در لینک زیر در دسترس است:
editor.blogfreedom.ir
خود سایت:
blogfreedom.ir
🔥7🎉1
سالروز ورود کوروش بزرگ به بابل گرامی باد. اقدامات وی در بابل سرچشمه ای از حقوق بشر بود.
این روز به روز کوروش بزرگ معروف است.
تا ابد، ایران
#کوروش
4
آن دل که به شاهد نهان درنگرد

کی جانب ملکت جهان درنگرد

بی‌زار شود ز چشم در روز اجل

کان روی رها کند به جان درنگرد
#شعر
🆒2