HTTP Headers Analyzer

3 / 10
https://site942371822.fo.team
Website → Browser
8 missing headers, 3 warnings, 5 notices
JSON API
Header Value Explanation
server openresty/1.21.4.1 Identifies the software used by the origin server to handle the request (e.g. Apache, Nginx, Cloudflare).
Warning The server header exposes a specific version number (1.21.4). This makes it easier for attackers to find known vulnerabilities for that version. Remove or suppress the version number.
date mon, 19 oct 2026 07:44:00 gmt The date and time at which the request was made. A browser uses it for age calculations rather than using its own internal date and time; e.g. when comparing against Max-Age or Expires.
content-type text/html; charset=utf-8 The type of the message body, specified as a MIME type.
vary accept-encoding The Vary header specifies a list of headers that must be considered when caching responses. For a cached response to be used, these headers must match between the cached response and the new request. This ensures that the appropriate version of a resource is served based on factors like language, encoding, or device type.
vary origin The Vary header specifies a list of headers that must be considered when caching responses. For a cached response to be used, these headers must match between the cached response and the new request. This ensures that the appropriate version of a resource is served based on factors like language, encoding, or device type.
x-frame-options allow-from https://editor.fo.ru/ X-Frame-Options prevents this URL from being embedded in an iframe. This protects against clickjacking attacks.
allow-from means that this page can be displayed in an iframe but only on the listed URLs.
Notice allow-from is deprecated. Use the Content-Security-Policy header with the frame-ancestors directive.
access-control-allow-origin https://editor.fo.ru/ Part of CORS (Cross-Origin Resource Sharing). Specifies which origins are allowed to read this response via JavaScript. By default, browsers prevent cross-origin scripts from accessing response data. This header is how a server explicitly grants access to specific origins.
The browser will only allow code from the specified origin to access this resource.
access-control-allow-credentials true Part of CORS (Cross-Origin Resource Sharing). When set to true, allows the browser to include cookies and authorization headers in cross-origin requests and lets frontend JavaScript read the response. Without this header, the browser will hide the response from scripts even if the request was sent with credentials.
content-security-policy frame-ancestors 'self' localhost fo.ru editor.fo.ru yep.com fosite.ru localhost:3000 172.16.55.208:3000 localhost:9222 betaeditor.fo.ru metrika.yandex.ru metrika.yandex.by metrica.yandex.com metrica.yandex.com.tr webvisor.com fo.vin editor.fo.vin mc.yandex.ru *.yandex.tld *.yandex.net webvisor.com mc.yandex.ru mc.yandex.az mc.yandex.by mc.yandex.co.il mc.yandex.com mc.yandex.com.am mc.yandex.com.ge mc.yandex.com.tr mc.yandex.ee mc.yandex.fr mc.yandex.kg mc.yandex.kz mc.yandex.lt mc.yandex.lv mc.yandex.md mc.yandex.tj mc.yandex.tm mc.yandex.uz mc.webvisor.com mc.webvisor.org yastatic.net; The Content Security Policy (CSP) header helps prevent cross-site scripting (XSS), clickjacking, and other code injection attacks by specifying which dynamic resources are allowed to load.
frame-ancestors defines what parents may embed a page using <frame>, <iframe>, <object>, <embed> or <applet>.
Notice Consider adding the upgrade-insecure-requests directive to automatically upgrade HTTP requests to HTTPS, helping to prevent mixed content issues.
Notice No default-src directive is set. Without it, directives that are not explicitly defined have no fallback restriction.
Notice Consider adding base-uri 'self' or base-uri 'none' to prevent base tag injection, which can redirect relative URLs to an attacker-controlled domain.
etag w/"2009bd2a763aff8929eab6901e9518fe" A unique identifier that changes every time a page at a given URL changes. It acts as a fingerprint. A cache can compare ETag values to see if the page has changed and has become stale. For example, a browser will send the ETag value of a cached page in an If-None-Match header. The web server compares the ETag value sent by the browser with the ETag value of the current version of the page. If both values are the same, the web server sends back a 304 Not Modified status and no body. This particular ETag value starts with W/ which means that it is a weak identifier; while unlikely, multiple pages might have the same identifier. Weak identifiers are used because strong identifiers can be difficult and costly to generate.
cache-control max-age=0, private, must-revalidate private means the response can only be stored by the browser's cache, but not by CDNs, proxies, or any other shared caches.
max-age=0 with must-revalidate means caching is disabled and all requests must be validated with the origin server.
set-cookie xsrf-token=nbhlqvb5nhy%2brq7rcroivsie796mwzjjgf0w%2felizwh7kxqhpibixaigvrjnkxlsd5zrfcoiclpqg1ace1axgg%3d%3d; path=/; secure; samesite=none A cookie that was sent from the server to the browser.
path= indicates the path that must exist in the requested URL for the browser to send the cookie.
Warning samesite=none instructs the browser to send the cookie to all cross-site requests, such as on requests to load images or frames from other sites. This enables third-party sites to log cookie data. This could lead to data leaks and cross-site request forgery attacks. To improve security, set to samesite=strict or samesite=lax.
secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.
Notice This cookie is missing the httponly flag. Without it, JavaScript can access the cookie, increasing the risk of cross-site scripting (XSS) attacks.
set-cookie foru_session=yvlsn2xuddjqznptvkvammlowhmxu3rxowfpm1jwymrdudrkbmovcnhsnwn1wwp0wnnxcursddj6z3oxy1poaddkbvneq1vzyxz3nlnhk2zkqkh6nnhwl3zwqnbkvdhlr1uzs2nfelrma3kwvlhjbdawcxk5ndvitmdkv3pvy2jichnszuo5vug1ajvmvhlgczvwzvzrpt0tluhnrgx3derleghquxhqr3jhwxlheue9pq%3d%3d--a55e16a0907fe801b98e77a3776401cb05ecfc9c; domain=.site942371822.fo.team; path=/; expires=mon, 02 nov 2026 07:43:58 gmt; secure; samesite=none A cookie that was sent from the server to the browser.
expires= sets the maximum lifetime of the cookie using a specific date.
domain= sets the domain to which the cookie will be sent.
path= indicates the path that must exist in the requested URL for the browser to send the cookie.
Warning samesite=none instructs the browser to send the cookie to all cross-site requests, such as on requests to load images or frames from other sites. This enables third-party sites to log cookie data. This could lead to data leaks and cross-site request forgery attacks. To improve security, set to samesite=strict or samesite=lax.
secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.
Notice This cookie is missing the httponly flag. Without it, JavaScript can access the cookie, increasing the risk of cross-site scripting (XSS) attacks.
x-request-id 5dfd074b-4319-47e3-8077-043bc8ed54a6 A unique identifier for the HTTP request. This can be useful for tracking a request through complex systems or for debugging purposes.
x-runtime 0.121189 Indicates the time taken to generate the response on the server, typically in seconds. This can be useful for performance monitoring and debugging.
content-encoding gzip Specifies how the resource is compressed. Not to be confused with Transfer-Encoding which specifies how the data is transferred.
gzip means that the data is compressed with gzip.
Warning Add a Content-Length header. The Content-Length header is required, unless the message is transported using chunked encoding. Without a Content-Length header some servers will respond with 400 (bad request) or terminate connections early.
strict-transport-security missing Add a Strict-Transport-Security header. The Strict-Transport-Security header or HSTS header is used to instruct browsers to only use HTTPS, instead of using HTTP. It helps enforce secure communication.
referrer-policy missing Add a Referrer-Policy header. When a visitor navigates from one page to another, browsers often pass along referrer information. The Referrer-Policy header controls how much referrer information a browser can share. This is important to configure when private information is embedded in the path or query string and passed onto an external destination.
permissions-policy missing Add a Permissions-Policy header. Restrict access to device features like the camera, microphone, location, accelerometer and much more.
cross-origin-embedder-policy missing Add a Cross-Origin-Embedder-Policy header. It requires cross-origin resources to explicitly consent before this page can load them, protecting those resources from being exposed to Spectre-style timing attacks. Together with Cross-Origin-Opener-Policy, it enables cross-origin isolation and access to SharedArrayBuffer.
cross-origin-opener-policy missing Add a Cross-Origin-Opener-Policy header. It prevents other sites from retaining a window reference to this page when opened via window.open() or navigation, blocking script-based attacks through shared browsing contexts.
cross-origin-resource-policy missing Add a Cross-Origin-Resource-Policy header. It controls which origins can embed or load this page's resources (images, scripts, etc.), preventing hotlinking and cross-origin data leaks.
x-content-type-options missing Add an X-Content-Type-Options: nosniff header to prevent browsers from MIME type sniffing. Without it, browsers may interpret files as a different content type than intended, which can lead to security vulnerabilities.
x-permitted-cross-domain-policies missing Add a X-Permitted-Cross-Domain-Policies header to prevent Flash, Adobe Reader and other clients from sharing data across domains.