From 04d027054ddb148c12fde424f60a9faf24f321b0 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 19 Mar 2025 00:11:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 -- backend/server.js | 65 +++-------------------------------------------- 2 files changed, 4 insertions(+), 63 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 64dee83..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Настройки редактора Cursor -.cursor/ \ No newline at end of file diff --git a/backend/server.js b/backend/server.js index 05a6ac9..027f284 100644 --- a/backend/server.js +++ b/backend/server.js @@ -45,17 +45,6 @@ console.log('Используемый порт:', process.env.PORT || 8000); let telegramBot; let emailBot; -// Получаем ABI из артефактов -const contractArtifact = require('./artifacts/contracts/MyContract.sol/MyContract.json'); -const contractABI = contractArtifact.abi; - -// Добавим логирование для отладки контракта -const provider = new ethers.JsonRpcProvider(process.env.ETHEREUM_NETWORK_URL); -console.log('Provider URL:', process.env.ETHEREUM_NETWORK_URL); -console.log('Contract address:', process.env.CONTRACT_ADDRESS); - -const contract = new ethers.Contract(process.env.CONTRACT_ADDRESS, contractABI, provider); - // Проверяем, что библиотека ethers.js правильно импортирована console.log('Ethers.js version:', ethers.version); @@ -131,65 +120,19 @@ app.use((req, res, next) => { next(); }); -// Добавьте cookie-парсер перед CSRF-защитой -// app.use(cookieParser()); - -// Затем настройте CSRF-защиту -// const csrfProtection = csrf({ -// cookie: { -// key: '_csrf', -// path: '/', -// httpOnly: true, -// secure: process.env.NODE_ENV === 'production', -// sameSite: 'lax' -// } -// }); - -// Добавьте маршрут для получения CSRF-токена -// app.get('/api/csrf-token', csrfProtection, (req, res) => { -// res.json({ csrfToken: req.csrfToken() }); -// }); - -// Применяем CSRF-защиту только к определенным маршрутам -// app.use('/api/protected', csrfProtection); -// app.use('/api/admin', csrfProtection); -// app.use('/api/kanban', csrfProtection); - -// Обработчик ошибок CSRF -// app.use((err, req, res, next) => { -// if (err.code === 'EBADCSRFTOKEN') { -// console.error('CSRF error:', { -// url: req.url, -// method: req.method, -// headers: req.headers, -// body: req.body -// }); -// return res.status(403).json({ -// error: 'CSRF token validation failed', -// message: 'Your session may have expired. Please refresh the page and try again.' -// }); -// } -// next(err); -// }); - -// Использовать импортированный middleware для сессий -// app.use(sessionMiddleware); - // Настройка сессий app.use(session({ store: new pgSession({ pool: pool, tableName: 'session' }), - secret: process.env.SESSION_SECRET || 'your-secret-key', - resave: true, + secret: process.env.SESSION_SECRET || 'hb3atoken', + resave: false, saveUninitialized: true, cookie: { + secure: process.env.NODE_ENV === 'production', httpOnly: true, - secure: false, - sameSite: 'lax', - maxAge: 30 * 24 * 60 * 60 * 1000, - path: '/' + maxAge: 30 * 24 * 60 * 60 * 1000 // 30 дней } }));