#javascript #node.js #postgresql #security #heroku
Вопрос:
Я работаю над приложением для устройств iOS. Телефоны, очевидно, действуют как клиент, и тогда у меня есть Node.js API, который был развернут в Heroku, и я также использую базу данных Heroku Postgres. В моей базе данных Postgres включены учетные данные по умолчанию. Мое соединение с базой данных API инициализируется с помощью:
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
ssl: {
rejectUnauthorized: false
}
});
Все мои SQL-запросы более или менее похожи:
`INSERT INTO table (param1, param2, param3) VALUES($1, $2, $3)`
Я никогда раньше не занимался какой-либо работой по обеспечению безопасности, поэтому на самом деле я не принимал никаких мер для предотвращения того, что я теперь знаю как перехват «человек посередине» и SQL-инъекции. Мне также было интересно, должна ли моя инициализация пула содержать какие-либо другие параметры для повышения безопасности. Мне также было любопытно, есть ли у кого-нибудь какие-либо предложения или ссылки о том, как шифровать/расшифровывать сами фактические телефонные номера (сейчас они буквально хранятся в виде текста, и я лично получил несколько спам-сообщений, поэтому кто-то каким-то образом получает номера).