جلوگیری از آپلود تصاویر و ویدیوهای مبتذل در سایت مان با سرویس Cloudinary

بدون دیدگاه

برنامه ها و سایت های مختلفی وجود دارند که کاربران اینترنت می توانند داخل آنها تولید محتوا کنند و مطالب را به اشتراک بگذارند.شبکه های اجتماعی، انجمن ها ، جت روم ها، و … . داخل همه این برنامه ها مدیران باید با محتواهای نامناسب دست و پنجه نرم کنند.

مثلا مدیران و ناظم ها باید همه مطالبی که توسط کاربران ارسال می شود را قبل از انتشار بررسی کنند تا مطمئن شوند مطابق قوانین برنامه مذکور باشند. این روند بسیار زمانبر است ولی می تواند به صورت اتوماتیک هم انجام شود.

در این مقاله ، به شما نشان خواهیم داد که چگونه محتوا (به صورت اختصاصی تصاویر) را به صورت اتوماتیک و در چهار قدم بوسیله سرویس Cloudinary مدیریت کنید.

Cloudinary یک پلتفرم ابری است که می تواند تصاویر و ویدیوها را مدیریت کند ودارای امکاناتی مثل آپلود سمت کاربر و سرور، تعداد بسیار زیادی ابزارهای ویرایش عکس و ویدیو، شبکه تحویل محتوا (CDN) رایگان، و گزینه های قدرتمند مدیریت asset ها است.

به طور ساده Cloudinary توسعه دهندگان موبایل و وب را قادر می سازد تا همه فایل های چند رسانه ای را بوسیله هر زبانی که دوست دارند به طور سریع و راحت مدیریت کنند و وقت خود را صرف بخش های مهمتر برنامه نمایند.

قدم اول: یک حساب Cloudinary بسازید

برای یک حساب رایگان ثبت نام کنید.

بعد از ثبت نام ، به داشبورد منتقل می شوید که اطلاعات کاربری مختص شما در بالای این صفحه قرار دارد.

اسم Cloud و API Key و API Secret را یادداشت کنید.

در همین رابطه :   چگونه : Apache, MySQL و PHP را در لینوکس نعنایی نصب کنیم ؟!

قدم دوم: یک سرور Node ایجاد کنید

یک فایل package.json ایجاد کنید:

npm init

ماژول های زیرا را نصب کنید:

npm install express connect-multiparty cloudinary cors body-parser --save
  • express : ما به این ماژول برای مسیردهی (Routing) مربوط به API نیاز داریم
  • connect-multiparty : برای تجزیه و تحلیل درخواست هایی که از نوع multipart/form-data هستند این ماژول نیاز است
  • cloudinary : بسته Node SDK برای Cloudinary
  • body-parser : مورد نیاز برای تلفیق بدنه درخواست در آبجکت درخواست express
  • cors : برای فعال کردن CORS نیاز است

قدم سوم: فعال کردن افزونه Rekognition AI Moderation

به بخش add-ons داشبورد رفته و روی Rekognition AI Moderation Add-on کلیک کنید و Free Plan را انتخاب کنید.

قدم چهارم: مدیریت محتوای تصاویر

یک فایل server.js در پوشه اصلی ایجاد کنید. همه dependency هایی که نصب کرده ایم require کنید:

const express = require('express');
const app = express();
const multipart = require('connect-multiparty');
const cloudinary = require('cloudinary');
const cors = require('cors');
const bodyParser = require('body-parser');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());

const multipartMiddleware = multipart();

حالا Cloudinary را تنظیم کنید:

cloudinary.config({
cloud_name: 'xxxxxxxx',
api_key: 'xxxxxxxx',
api_secret: 'xxxxxxx'
});

و حالا xxxxxx را با مقادیر اصلی که از داشبورد برداشته اید، جایگزین کنید.

یک route برای آپلود بنام /upload اضافه کنید.

app.post('/upload', multipartMiddleware, function(req, res) {
// Upload to Cloudinary
cloudinary.v2.uploader.upload(req.files.image.path,
// Specify Moderation
{
moderation: "aws_rek"
}, function(error, result) {
console.log(result);
res.json(result);
});
});

حالا وقتی کاربری درخواست از نوع POST به روت /upload فرستاد، فایل عکس از درخواست HTTP گرفته می شود، به Cloudinary آپلود می شود، به Amazon Rekognition برای مدیریت ارسال می شود و پاسخ بررسی محتوای عکس بسته به اینکه رد شده یا تایید ، برگشت داده می شود.

این مسیر واقعا ساده است! حالا اجازه دهید آن را به صورت عملی با Postman تست کنیم.

در همین رابطه :   آموزش راه اندازی CDN برای وردپرس با افزونه W3 Total Cache و سرویس رایگان SpeedyMirror

مطمئن شوید سرور در حال اجرا است:

nodemon server.js

یک درخواست از نوع POST بسازید و سعی کنید تصاویر مختلف اگر شد +18 آپلود کنید.

پاسخ JSON برگشت داده شده

حالا پاسخ json برگشتی را بررسی کنید. عکس ارسالی آپلود نشده و reject شده است زیرا حاوی تصاویر نامناسب بوده است. به ضریب اطمینان از نتیجه هم نگاه کنید. بسیار بالاست .

پس کاربران هیچ گاه نمی توانند تصاویر نامناسب در سایت ما آپلود کنند.

توجه: دو نوع دسته بندی برای رد تصاویر وجود دارد. برای اطلاعات بیشتر در این مورد به این آدرس مراجعه کنید.

نتیجه گیری

دیدیم که بررسی اتوماتیک محتوای فایل های چند رسانه ای که کاربران در سایت ما آپلود می کنند، زیاد هم سخت نیست.مخصوصا اگر سایت پربازدیدی نداشته باشید پلن رایگان می تواند پاسخگوی نیازهای شما باشد. با کارهایی مثل share کردن نیز می توانید فضا و پهنای باند به پلن تان اضافه کنید. همچنین حتما نیاز نیست با Node.js از این سرویس استفاده کنید. می توانید از زبان هایی مثل PHP, Python, Java, Ruby و …هم به راحتی استفاده کنید.

منبع

دسته بندی : JavaScriptPHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *