🚫🔍 feat: disallow search indexing (#1409)

* feat: disallow search indexing

* Update index.js

* Update .env.example

* added middleware
This commit is contained in:
Marco Beretta 2023-12-30 02:42:04 +01:00 committed by GitHub
parent c3d5a08b26
commit bd4d23d314
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 0 deletions

View file

@ -24,9 +24,12 @@ MONGO_URI=mongodb://127.0.0.1:27017/LibreChat
DOMAIN_CLIENT=http://localhost:3080 DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER=http://localhost:3080 DOMAIN_SERVER=http://localhost:3080
NO_INDEX=true
#===============# #===============#
# Debug Logging # # Debug Logging #
#===============# #===============#
DEBUG_LOGGING=true DEBUG_LOGGING=true
DEBUG_CONSOLE=false DEBUG_CONSOLE=false

View file

@ -8,6 +8,7 @@ const errorController = require('./controllers/ErrorController');
const configureSocialLogins = require('./socialLogins'); const configureSocialLogins = require('./socialLogins');
const { connectDb, indexSync } = require('~/lib/db'); const { connectDb, indexSync } = require('~/lib/db');
const { logger } = require('~/config'); const { logger } = require('~/config');
const noIndex = require('./middleware/noIndex');
const paths = require('~/config/paths'); const paths = require('~/config/paths');
const routes = require('./routes'); const routes = require('./routes');
@ -28,6 +29,7 @@ const startServer = async () => {
app.locals.config = paths; app.locals.config = paths;
// Middleware // Middleware
app.use(noIndex);
app.use(errorController); app.use(errorController);
app.use(express.json({ limit: '3mb' })); app.use(express.json({ limit: '3mb' }));
app.use(mongoSanitize()); app.use(mongoSanitize());

View file

@ -12,6 +12,7 @@ const concurrentLimiter = require('./concurrentLimiter');
const validateMessageReq = require('./validateMessageReq'); const validateMessageReq = require('./validateMessageReq');
const buildEndpointOption = require('./buildEndpointOption'); const buildEndpointOption = require('./buildEndpointOption');
const validateRegistration = require('./validateRegistration'); const validateRegistration = require('./validateRegistration');
const noIndex = require('./noIndex');
module.exports = { module.exports = {
...abortMiddleware, ...abortMiddleware,
@ -28,4 +29,5 @@ module.exports = {
validateMessageReq, validateMessageReq,
buildEndpointOption, buildEndpointOption,
validateRegistration, validateRegistration,
noIndex,
}; };

View file

@ -0,0 +1,11 @@
const noIndex = (req, res, next) => {
const shouldNoIndex = process.env.NO_INDEX ? process.env.NO_INDEX === 'true' : true;
if (shouldNoIndex) {
res.setHeader('X-Robots-Tag', 'noindex');
}
next();
};
module.exports = noIndex;