2020-06-30 12:50:28 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
2020-12-21 15:38:52 +01:00
|
|
|
include::../ask-yourself.adoc[]
|
2020-06-30 12:50:28 +02:00
|
|
|
|
2020-12-21 15:38:52 +01:00
|
|
|
include::../recommended.adoc[]
|
|
|
|
|
|
|
|
== Sensitive Code Example
|
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
In https://www.npmjs.com/package/express[Express.js], version information is
|
|
|
|
disclosed by default in the ``++x-powered-by++`` HTTP header:
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
[source, javascript]
|
2020-06-30 12:50:28 +02:00
|
|
|
----
|
|
|
|
let express = require('express');
|
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
let example = express(); // Sensitive
|
|
|
|
|
|
|
|
example.get('/', function (req, res) {
|
|
|
|
res.send('example')
|
2020-06-30 12:50:28 +02:00
|
|
|
});
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
``++x-powered-by++`` HTTP header should be disabled in
|
|
|
|
https://www.npmjs.com/package/express[Express.js] with ``++app.disable++``:
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,javascript]
|
2020-06-30 12:50:28 +02:00
|
|
|
----
|
|
|
|
let express = require('express');
|
2020-12-21 15:38:52 +01:00
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
let example = express();
|
|
|
|
example.disable("x-powered-by");
|
|
|
|
----
|
|
|
|
|
|
|
|
Or with helmet's https://www.npmjs.com/package/helmet[hidePoweredBy] middleware:
|
2020-06-30 12:50:28 +02:00
|
|
|
|
2023-08-25 19:32:17 +02:00
|
|
|
[source, javascript]
|
|
|
|
----
|
2020-12-21 15:38:52 +01:00
|
|
|
let helmet = require("helmet");
|
2023-08-25 19:32:17 +02:00
|
|
|
|
|
|
|
let example = express();
|
|
|
|
example.use(helmet.hidePoweredBy());
|
2020-06-30 12:50:28 +02:00
|
|
|
----
|
|
|
|
|
|
|
|
include::../see.adoc[]
|
2023-06-22 10:38:01 +02:00
|
|
|
|
2021-09-20 15:38:42 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../message.adoc[]
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|