سلام به همگی
خسته نباشید
من یه فیچر به سایت وردپرس خودم اضافه کردم ( با کدنویسی )
داستان اینطوریه که کاربر یه سری تصویر باید آپلود کنه
می خوام این تصاویر رو از طریق سایت اصلی آپلود بشن ولی محل ذخیرشون هاست دانلود باشه ، چطوری می تونم این مورد رو هندل کنم ؟
کتابخونه یا چیز دیگه ای هست برای این موضوع ؟
از چه طریقی می تونم تصاویری که آپلود می شن رو چک کنم یه وقت مشکل امنیتی نداشته باشن ؟ برای این مورد هم کتابخانه خاصی هست ؟
مشکل امنیتی منظورم اینه که یه وقت کد مخرب بین عکس ها نفرستند
سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨
برای اضافه کردن این ویژگی به وبسایت وردپرس خودت میتونی از کتابخانهها و ابزارهای مختلفی استفاده کنی. اول باید تصاویر آپلود شده توسط کاربران را به هاست دانلود منتقل کنی و سپس اونارو توی دیتابیس ذخیره کنی. در ادامه، میتونی از کتابخانهها و روشهای مختلفی برای افزایش امنیت استفاده کنی. مثال
آپلود تصاویر به هاست دانلود:
برای این کار، میتونی از کتابخانههای PHP معمولی یا ابزارهایی مانند move_uploaded_file
استفاده کنی تا تصاویر رو به مسیر هاست دانلود انتقال بدی.
مثال:
$upload_directory = '/path/to/download/directory/';
$uploaded_file = $_FILES['file']['tmp_name'];
$target_file = $upload_directory . $_FILES['file']['name'];
if (move_uploaded_file($uploaded_file, $target_file)) {
// ذخیره اطلاعات تصویر در دیتابیس
} else {
// خطای آپلود تصویر
}
کنترل امنیتی:
برای افزایش امنیت و جلوگیری از تزریق کد مخرب به میان عکسها، میتونی از توابع PHP مانند htmlspecialchars
و mysqli_real_escape_string
برای تمیز کردن دادهها استفاده کنی.
مثال:
$title = htmlspecialchars($_POST['image_title']);
$description = htmlspecialchars($_POST['image_description']);
// استفاده از mysqli_real_escape_string برای جلوگیری از تزریق SQL
$description = mysqli_real_escape_string($connection, $description);
استفاده از ماژولها و افزونهها:
برای وردپرس، افزونههایی وجود دارند که به شما این امکان را میدهند که تصاویر را آپلود و مدیریت کنید و از نظر امنیتی بهترین روش را اجرا کنید. به عنوان مثال، افزونههای مدیریت آپلود فایل و افزونههای امنیتی وردپرس میتوانند به شما کمک کنند.
تصویر سنجی:
برای بررسی تصاویر برای موارد مخرب، میتوانید از ابزارهای تصویر سنجی مانند Imagick استفاده کنید تا تصاویر را تحلیل کرده و مطمئن شوید که تصاویر آپلود شده برای امنیت بیشتر مناسب هستند.
از نظر امنیتی بسیار مهمه که دادههای آپلود شده را دقیقاً بررسی کنی و از آنها به عنوان دادههای مورد اعتماد استفاده نکنی. همچنین، باید به روزرسانیهای امنیتی وردپرس را همیشه اجرا کنی تا از آسیبپذیریهای امنیتی جدید جلوگیری بشه .
امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹
سلام مهدی جان دمت گرم
یه سوال برام پیش اومد
توی بخش آپلود تصاویر به هاست دانلود:
گفتی که باید تصاویر رو به هاست دانلودت منتقل کنی ؟
میشه راجب این بخش بیشتر بهم توضیح بدی
من که به دایرکتوری هاست دانلود داخل Cpanel سایتم دسترسی ندارم ( این کد ها هم قاعدتا داخل هاست اصلی قرار دارند )
هاست دانلود Cpanel جدا گونه برای خودش داره
ابزار خاصی وجود داره که بخوام این کار انتغال رو باهاش مدیریت کنم ؟ یعنی مثلا یه پوشه داخل وردپرسم ایجاد بشه بعد هرچی اونجا آپلود شد خودش خود کار بره داخل هاست دانلود
خب ببین طبیعتا باید هاست دانلود داشته باشی این به کنار و به هاست اصلیت به چند تا توابع و یه افزونه ای چیزی بهش وصل کنی که هروقت کاربرت چیزی آپلود میکنه بره اونطرف
بنظرم برا حل مشکلت توی این گروه پیام بزار
https://t.me/phpgp
دوستان php کار هستن که سریعتر کمکت کنن 💖
سلام ارادت برای اینکار باید به php مسلط باشید
از طریق توابع ftp
php ما میتونیم به سرور متصل بشیم و انواع عملیات مثل آپلود و... رو انجام بدیم
ی مثال میزنم
$ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
// open file for reading
$file = "test.txt";
$fp = fopen($file,"r");
// upload file
if (ftp_fput($ftp_conn, "somefile.txt", $fp, FTP_ASCII))
{
echo "Successfully uploaded $file.";
}
else
{
echo "Error uploading $file.";
}
// close this connection and file handler
ftp_close($ftp_conn);
fclose($fp);
برای وردپرس باید ی پلاگین بنویسید تا اینکارو براتون انجام بده راهنمایی بیشتر در خدمتم
@mahdi.nazari جان move_uploaded_file برای آپلود در سرور محلی هستش برای سرور ریموت باید از ftp استفاده کنن
@ossvahid ممنون وحید جان دمت گرم
من هنوز توی پروژه به این بخش نرسیدم اما چند روز آینده قطعا درگیر این موصوع می شم
امکانش هست یه راه ارتباطی از خودت برام ارسال کنی ، تا با هم در ارتباط باشیم ؟ ( البته اگر وقتش رو داری ، در حد راهنمایی کوچیک )
چیزی که من متوجه شدم میخای کاربر ی سری موارد آپلود کنه و اون ها بره داخل هاست دانلود پس کارت با افزونه های عادی اتصال به ftp راه نمیفته
چیزی که شما مد نظرت هستش بیشتر شبیه سیستم های آپلود فایل هستش کاربر میاد ی فایلی رو آپلود میکنه و اون فایل بجای اینکه بره داخل سرور لوکال میره داخل سرور ریموت (همون هاست دانلود)
باید اختصاصي کدنویسیش کنی
با سلام
اگر میخوای کدنویسی کنی که خیلی دردسر داره.
اما با استفاده از افزونه hacklog remote میتونی هاست اصلی رو به هاست دیگه (معمولا دانلود میگن) متصل کنی و تمامی فایلهای مالتی مدیا مثل تصاویر در هاست دوم اپلود بشن .
کار با ین افزونه برای اتصال به هاست دوم هم خیلی راحت هست
کافیه ای پی هاست دوم و مسیر (دایرکتوری) مورد نظر رو مشخص کنی
@it1press سلام
دمت گرم این رو هم یه تست می کنم
این افزونه این قابلیت رو داره که یه پوشه رو خودم انتخاب کنم و فقط اون انتغال پیدا کنه ؟
بله
امکانپذیره.
هر دایرکتوری که میخواهید فایلها در اون اپلود بشن رو در فیلد دوم افزونه میتونید مشخص کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟