Когда мы пишем код на javascript, мы всегда думаем об аспектах безопасности и уязвимости кода.
Базовая уязвимость кода — это недостаток в вашем коде, который создает потенциальные риски и ставит под угрозу безопасность. Поэтому, когда мы пишем код на javascript, мы должны позаботиться о следующих уязвимостях кода.
1. Межсайтовый скриптинг (XSS)
2. XSRF или CSRF
Межсайтовый скриптинг: этот тип скриптов в основном применяется с открытым исходным кодом или ненадежными ресурсами, например, если мы используем какой-либо сторонний API в системе (любой API для получения кода страны) и если база API URL-адрес является общедоступным, что означает, что API может быть вызван без какой-либо аутентификации, в этом случае злоумышленник может разместить любой код, используя публикацию формы или источник изображения или любые другие методы в API, поскольку URL-адрес API является общедоступным, и когда кто-либо вызывает API, злоумышленник может добавить любой код/скрипт в ответ API.
Для предотвращения этого мы используем фильтры (xss-filter). это пакет npm, который мы можем установить npm i xss-filter следующим образом.
var xssFilters = требуют('xss-фильтры');
app.get(‘/getPhoneCode’, (req, res) =› {
var param= req.query.countryname;
константные результаты = db.search (параметр);
если (результаты.длина === 0) {
res.send(‘‹p›Нет результатов для «‘ + xssFilters.inHTMLData(param) + ‘“‹/p›’);
}
});
XSRF или CSRF
CSRF — это метод, при котором злоумышленник отправляет/отправляет данные, используя аутентифицированные данные пользователя, т.е. предположим, что вы вошли на любой банковский веб-сайт, затем на сервере создается сеанс, а также генерируется идентификатор сеанса, и сервер отправляет в браузер, и браузер сохраняет это информация в файлах cookie после этого в каждом запросе файла cookie будет добавляться и отправляться на сервер браузером. Если злоумышленник может создать форму, которая будет указывать на веб-сайт пользователя (если злоумышленник каким-либо способом получит параметр запроса), и если пользователь отправил форму, злоумышленник может получить данные в конце. Это называется атакой CSRF/XSRF.
Чтобы предотвратить это, мы можем отправлять разные токены с каждым запросом, и сервер будет проверять токены, а затем мы можем публиковать данные или получать данные.
Также, если мы можем предотвратить, используя политику того же происхождения.