disable form, use email submissions until form perfected
This commit is contained in:
parent
220646e688
commit
3658464bd9
76
app.js
76
app.js
@ -1,33 +1,32 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
const bodyParser = require('body-parser');
|
const bodyParser = require('body-parser');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const winston = require('winston');
|
//const winston = require('winston');
|
||||||
const rateLimit = require('express-rate-limit');
|
//const rateLimit = require('express-rate-limit');
|
||||||
const fs = require('fs');
|
//const fs = require('fs');
|
||||||
|
|
||||||
const logger = winston.createLogger({
|
//const logger = winston.createLogger({
|
||||||
level: 'info',
|
// level: 'info',
|
||||||
format: winston.format.combine(
|
// format: winston.format.combine(
|
||||||
winston.format.timestamp(),
|
// winston.format.timestamp(),
|
||||||
winston.format.printf(({ timestamp, level, message }) => {
|
// winston.format.printf(({ timestamp, level, message }) => {
|
||||||
return `${timestamp} [${level.toUpperCase()}] ${message}`;
|
// return `${timestamp} [${level.toUpperCase()}] ${message}`;
|
||||||
})
|
// })
|
||||||
),
|
// ),
|
||||||
transports: [
|
// transports: [
|
||||||
new winston.transports.File({ filename: 'register.log' })
|
// new winston.transports.File({ filename: 'register.log' })
|
||||||
],
|
// ],
|
||||||
});
|
//});
|
||||||
|
|
||||||
const exclusions = JSON.parse(fs.readFileSync('exclusions.json', 'utf8')).excludedIPs;
|
//const exclusions = JSON.parse(fs.readFileSync('exclusions.json', 'utf8')).excludedIPs;
|
||||||
|
//const registerLimiter = rateLimit({
|
||||||
const registerLimiter = rateLimit({
|
// windowMs: 24 * 60 * 60 * 1000,
|
||||||
windowMs: 24 * 60 * 60 * 1000,
|
// max: 1,
|
||||||
max: 1,
|
// message: 'You have already submitted a registration today. Please try again tomorrow.',
|
||||||
message: 'You have already submitted a registration today. Please try again tomorrow.',
|
// standardHeaders: true,
|
||||||
standardHeaders: true,
|
// legacyHeaders: false,
|
||||||
legacyHeaders: false,
|
// skip: (req, res) => exclusions.includes(req.ip)
|
||||||
skip: (req, res) => exclusions.includes(req.ip)
|
//});
|
||||||
});
|
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
@ -42,19 +41,22 @@ app.get('/', (req, res) => {
|
|||||||
res.render('index');
|
res.render('index');
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post('/register', registerLimiter, (req, res) => {
|
//app.post('/register', registerLimiter, (req, res) => {
|
||||||
const formData = req.body;
|
// const formData = req.body;
|
||||||
logger.info(`New registration:
|
// logger.info(`New registration:
|
||||||
Name: ${formData.name}
|
// Name: ${formData.name}
|
||||||
Email: ${formData.email}
|
// Email: ${formData.email}
|
||||||
Reason: ${formData.message}
|
// Reason: ${formData.message}
|
||||||
Telegram: ${formData.telegram}`);
|
// Telegram: ${formData.telegram}`);
|
||||||
res.render('success');
|
// res.render('success');
|
||||||
});
|
//});
|
||||||
|
|
||||||
app.get('/success', (req, res) => {
|
// Shelved for now
|
||||||
res.render('success');
|
// Logic needs improvements
|
||||||
});
|
|
||||||
|
//app.get('/success', (req, res) => {
|
||||||
|
// res.render('success');
|
||||||
|
//});
|
||||||
|
|
||||||
app.get('/register', (req, res) => {
|
app.get('/register', (req, res) => {
|
||||||
res.render('register');
|
res.render('register');
|
||||||
|
@ -14,30 +14,17 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>Register</h1>
|
<h1>Register</h1>
|
||||||
<h3>Registration is done via email</h3>
|
<h3>Registration is done via email</h3>
|
||||||
<i>Fill out the form and send your email to receive your credentials.</i>
|
<i>Please contact <a href="mailto:signup@p0ntus.com">signup<i class="fa-solid fa-at"></i>p0ntus.com</a> with the following info:</i>
|
||||||
<hr>
|
<hr>
|
||||||
<form id="registration-form" method="POST" action="/register">
|
<ul class="list-group">
|
||||||
<div class="mb-3">
|
<li class="list-group-item">Name that goes in email header (full name/username/alias)</li>
|
||||||
<label for="name" class="form-label">Name that goes in email header (full name/username/alias):</label>
|
<li class="list-group-item">Desired email address (e.g., yourname@p0ntus.com)</li>
|
||||||
<input type="text" class="form-control" id="name" name="name" required>
|
<li class="list-group-item">Reason for wanting an email</li>
|
||||||
</div>
|
<li class="list-group-item">Telegram username</li>
|
||||||
<div class="mb-3">
|
</ul>
|
||||||
<label for="email" class="form-label">I would like this email:</label>
|
<hr>
|
||||||
<input type="text" class="form-control" id="email" name="email" required>
|
<a href="/" class="btn bg-dark text-white"><i class="fa-solid fa-home ico-sm"></i> Return to Home</a>
|
||||||
<div class="form-text">Your email will be: <span id="email-prefix">name</span>@p0ntus.com</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="message" class="form-label">I want an email because:</label>
|
|
||||||
<textarea class="form-control" id="message" name="message" rows="3" required></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3">
|
|
||||||
<label for="telegram" class="form-label">Telegram username:</label>
|
|
||||||
<input type="text" class="form-control" id="telegram" name="telegram" required>
|
|
||||||
</div>
|
|
||||||
<button type="submit" class="btn bg-dark text-white"><i class="fa-solid fa-envelope ico-sm"></i> Send</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
<script src="/src/js/checkUsernameInput.js"></script>
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
Reference in New Issue
Block a user