Forwarded from آموزش جامع PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
هوش مصنوعی خوبه اما برای استفاده اگه تخصص اون کارو نداشته باشی میتونه کارتو خراب کنه
مثلا من از Chat Gpt خواستم یه فایل امنیتی htaccess در اختیارم بذاره که یکی از موارد جلوگیری از اسکن اسکنرهاست یعنی این:
یعنی میگه از user agent از اینا بود جلو درخواست رو بگیره که در ظاهر همه چی عالیه ولی مشکل کجاست؟
ما کرون وردپرس رو از طریق wget اجرا میکنیم و این درخواست عملا اجرا کرون رو به صورت کامل متوقف میکنه که به موارد استفاده از کرون بستگی داره که چقدر مشکل ساز بشه
در حال حاضر میشه از هوش مصنوعی به عنوان یک دستیار استفاده کرد که میتونه اشتباه هم بکنه و شما به عنوان اوستا باید حواست باشه. میتونه خیلی کارتو سرعت بده ولی در عین حال میتونه مشکل هم ایجاد کنه پس باید درست استفاده کرد مخصوصا حوزه برنامه نویسی
مثلا من از Chat Gpt خواستم یه فایل امنیتی htaccess در اختیارم بذاره که یکی از موارد جلوگیری از اسکن اسکنرهاست یعنی این:
# --------------------------------------------------
# 🔥 11) Block bad bots & scanners
# --------------------------------------------------
RewriteCond %{HTTP_USER_AGENT} (httrack|wget|curl|libwww|nmap|sqlmap|fimap|python|nikto|scanner) [NC]
RewriteRule .* - [F,L]
یعنی میگه از user agent از اینا بود جلو درخواست رو بگیره که در ظاهر همه چی عالیه ولی مشکل کجاست؟
ما کرون وردپرس رو از طریق wget اجرا میکنیم و این درخواست عملا اجرا کرون رو به صورت کامل متوقف میکنه که به موارد استفاده از کرون بستگی داره که چقدر مشکل ساز بشه
در حال حاضر میشه از هوش مصنوعی به عنوان یک دستیار استفاده کرد که میتونه اشتباه هم بکنه و شما به عنوان اوستا باید حواست باشه. میتونه خیلی کارتو سرعت بده ولی در عین حال میتونه مشکل هم ایجاد کنه پس باید درست استفاده کرد مخصوصا حوزه برنامه نویسی
👍21❤2
carbon (1).png
2.5 MB
گاهی اوقات درخواست های Rest ما خیلی کند میشه و متوجه نمیشیم کدوم درخواست هست و چه پارامترهایی داره پس بهتره درخواست های کند رو لاگ کنیم تا برای بهینه سازی اقدام کنیم.
اینجا یک کلاس ساده رو گذاشتم که میتونه درخواست های طولانی از مقدار مشخص رو با پارامترها لاگ کنه تا بتونیم فرآیند بررسی مشکل و انجام بهینه سازی رو انجام بدیم
💡 خط 45 مسیر ذخیره فایل های لاگ رو مشخص میکنیم که باید تغییر بدید. تو کد خارج از public_html ساخته میشه
💡 خط 9 میگه اگه درخواست زیر چند ثانیه باشه لاگ انجام بشه
کانال @wp2learn رو دنبال کنید
اینجا یک کلاس ساده رو گذاشتم که میتونه درخواست های طولانی از مقدار مشخص رو با پارامترها لاگ کنه تا بتونیم فرآیند بررسی مشکل و انجام بهینه سازی رو انجام بدیم
💡 خط 45 مسیر ذخیره فایل های لاگ رو مشخص میکنیم که باید تغییر بدید. تو کد خارج از public_html ساخته میشه
💡 خط 9 میگه اگه درخواست زیر چند ثانیه باشه لاگ انجام بشه
کانال @wp2learn رو دنبال کنید
❤4
اینم نمونه کد لاگ درخواست های کند:
<?php
class MyCustomLogger
{
private float $start_time = 0;
private int $start_memory = 0;
private float $slow_request_threshold = 0.25;
public function init() {
add_filter( 'rest_pre_dispatch', [ $this, 'before_request' ], 10, 3 );
add_filter( 'rest_post_dispatch', [ $this, 'after_request' ], 10, 3 );
}
public function before_request($response, $server, $request) {
$this->start_time = microtime( true );
$this->start_memory = memory_get_usage();
return $response;
}
public function after_request( $response, $server, $request){
$end_time = microtime(true);
$end_memory = memory_get_usage();
$peak_memory = memory_get_peak_usage();
$duration = $end_time - $this->start_time;
if( $duration > $this->slow_request_threshold ) {
return $response;
}
$memory_used = $end_memory - $this->start_memory;
$log_data = [
'route' => sanitize_text_field( $request->get_route() ),
'method' => sanitize_key( $request->get_method() ),
'params' => $request->get_params(),
'duration_sec' => $duration,
'memory_used_bytes' => $memory_used,
'peak_memory_bytes' => $peak_memory,
'ua' => $_SERVER['HTTP_USER_AGENT'] ?? '',
'timestamp' => current_time( 'mysql' )
];
$log_dir = ABSPATH . '../Logs/' . date('Y/m/');
if( ! file_exists( $log_dir ) ) {
mkdir( $log_dir, 0750, true );
}
$log_path = $log_dir . date('d') . '.log';
file_put_contents( $log_path, json_encode( $log_data ) . PHP_EOL, FILE_APPEND );
return $response;
}
}
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
يا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلى رَبِّكِ راضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبادِي وَ ادْخُلِي جَنَّتِي
آمدم به عنوان قطره ای از دریای عزادار و خونخواهانت که بگم: لا نعلم منه الا خیرا
بدرود ایرانی ترین رهبر، خداحافظ
آمدم به عنوان قطره ای از دریای عزادار و خونخواهانت که بگم: لا نعلم منه الا خیرا
بدرود ایرانی ترین رهبر، خداحافظ
💩22❤21👎1🖕1
شرایط قطعی اینترنت و عدم ارتباط سایت وردپرسی با خارج از کشور، باعث کندی زیاد مخصوصا در بخش ادمین میشه که میتونین با کد زیر درخواست های خارجی که با دامنه های خاص مشخص شده رو ببنید
add_filter( 'pre_http_request', function( $pre, $args, $url ) {
$blocked_domains = [
'wordpress.org',
'api.wordpress.org',
'downloads.wordpress.org',
'themes.wordpress.org',
'plugins.wordpress.org'
];
$host = parse_url( $url, PHP_URL_HOST );
if ( $host ) {
foreach ($blocked_domains as $domain) {
if ( str_contains( $host, $domain ) ) {
return new \WP_Error( 'http_blocked', 'Request blocked for this domain' );
}
}
}
return $pre;
}, 10, 3 );❤5
آموزش کدنویسی وردپرس
شرایط قطعی اینترنت و عدم ارتباط سایت وردپرسی با خارج از کشور، باعث کندی زیاد مخصوصا در بخش ادمین میشه که میتونین با کد زیر درخواست های خارجی که با دامنه های خاص مشخص شده رو ببنید add_filter( 'pre_http_request', function( $pre, $args, $url ) { $blocked_domains…
کد بالا فقط برای درخواست سمت سرور هست ولی برخی درخواست های فایل های css و js که در سمت کلاینت انجام میشه بعضا باعث کندی میشن که میتونین این درخواست ها رو با کد زیر حذف کنید. فقط حواستون به وابستگی های js باشه.
گرچه پیشنهاد اینه که در صورت امکان از کتابخونه ها به صورت لوکال روی سرور خودتون استفاده کنید نه CDN
اگه دامنه خاصی دارید باید داخل آرایه اضافه کنید که اصلا css یا js لود نشه:
گرچه پیشنهاد اینه که در صورت امکان از کتابخونه ها به صورت لوکال روی سرور خودتون استفاده کنید نه CDN
اگه دامنه خاصی دارید باید داخل آرایه اضافه کنید که اصلا css یا js لود نشه:
add_filter('style_loader_src', 'block_external_assets', 10, 2);
add_filter('script_loader_src', 'block_external_assets', 10, 2);
function block_external_assets($src) {
$blocked = [
'fonts.googleapis.com',
'fonts.gstatic.com',
'cdnjs.cloudflare.com'
];
$host = parse_url($src, PHP_URL_HOST);
if ($host && in_array($host, $blocked)) {
return false;
}
return $src;
}❤5
This media is not supported in your browser
VIEW IN TELEGRAM
اربعین حضرت ابا عبدالله الحسین (ع)
بر تمامی دوستداران اهل بیت و عاشقان آن حضرت تسلیت باد🖤
بر تمامی دوستداران اهل بیت و عاشقان آن حضرت تسلیت باد🖤
❤21💩2🍾1