Описание изменений
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
# Настройки редактора Cursor
|
|
||||||
.cursor/
|
|
||||||
@@ -45,17 +45,6 @@ console.log('Используемый порт:', process.env.PORT || 8000);
|
|||||||
let telegramBot;
|
let telegramBot;
|
||||||
let emailBot;
|
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 правильно импортирована
|
// Проверяем, что библиотека ethers.js правильно импортирована
|
||||||
console.log('Ethers.js version:', ethers.version);
|
console.log('Ethers.js version:', ethers.version);
|
||||||
|
|
||||||
@@ -131,65 +120,19 @@ app.use((req, res, next) => {
|
|||||||
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({
|
app.use(session({
|
||||||
store: new pgSession({
|
store: new pgSession({
|
||||||
pool: pool,
|
pool: pool,
|
||||||
tableName: 'session'
|
tableName: 'session'
|
||||||
}),
|
}),
|
||||||
secret: process.env.SESSION_SECRET || 'your-secret-key',
|
secret: process.env.SESSION_SECRET || 'hb3atoken',
|
||||||
resave: true,
|
resave: false,
|
||||||
saveUninitialized: true,
|
saveUninitialized: true,
|
||||||
cookie: {
|
cookie: {
|
||||||
|
secure: process.env.NODE_ENV === 'production',
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
secure: false,
|
maxAge: 30 * 24 * 60 * 60 * 1000 // 30 дней
|
||||||
sameSite: 'lax',
|
|
||||||
maxAge: 30 * 24 * 60 * 60 * 1000,
|
|
||||||
path: '/'
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user