چیزهای امنیتی که مهم هستند
امنیت تا زمانی که هک نشوید ، کسل کننده و کسل کننده است. سپس واقعاً جالب است. گره در ایجاد آسان API در یک شبه بسیار عالی است ، اما این کار را نیز اشتباه می کند.
من دیده ام که دیگران به دلیل:
- آنها بسته هایی را که هرگز حسابرسی نمی کردند به کار بردند (NPM فوق العاده و ترسناک است)
- آنها به ورودی کاربران متکی هستند (هرگز ، هرگز این کار را انجام ندهید)
- آنها اعتبارنامه های سخت را مستقیماً وارد کد می کنند (چرا در جهان؟)
من مطمئن هستم که اگر کسی برنامه شما را هک کند ، تعجب کرده اید که چه کاری انجام می دهید. بیایید به برخی از پیشنهادات برای جلوگیری از هک شدن نگاه کنیم.
اصول اولیه
-
بررسی کنید که کاربران/مشتریان برای شما چه ارسال می کنند
همیشه از کاربران انتظار داشته باشید که چیزهای عجیب و غریب را امتحان کنند. همه آن را بررسی کنید.
// Bad code app.post('/users', (req, res) = { db.users.create(req.body); // Accepting whatever users send? Bad idea! }); // Better approach app.post('/users', (req, res) = { // Use something like Joi or express-validator if (!req.body.email || !req.body.email.includes('@')) { return res.status(400).send('Invalid email'); } if (typeof req.body.age !== 'number') { return res.status(400).send('Age must be a number'); } // Now it's safer to save db.users.create(req.body); });
من این را برای خودم پیدا کردم وقتی شخصی با قرار دادن ایموجی در …