| 1. General Results, most used to calculate the result |
| A | name "huongdan.fpt.net" is subdomain, public suffix is ".net", top-level-domain is ".net", top-level-domain-type is "generic", tld-manager is "VeriSign Global Registry Services", num .net-domains preloaded: 8091 (complete: 210599)
|
| A | Good: All ip addresses are public addresses
|
| Warning: Only one ip address found: huongdan.fpt.net has only one ip address.
|
| Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: huongdan.fpt.net has no ipv6 address.
|
| A | Good: No asked Authoritative Name Server had a timeout
|
| A | DNS: "Name Error" means: No www-dns-entry defined. This isn't a problem
|
| A | Good: destination is https
|
| A | Good - only one version with Http-Status 200
|
| A | Good: one preferred version: non-www is preferred
|
| A | Good: No cookie sent via http.
|
| A | Good: every https has a Strict Transport Security Header
|
| A | Good: HSTS max-age is long enough, 63072000 seconds = 730 days
|
| A | Good: HSTS has includeSubdomains - directive
|
| A | Good: HSTS has preload directive
|
| Warning: HSTS preload sent, but not in Preload-List. Never send a preload directive if you don't know what preload means. Check https://hstspreload.org/ to learn the basics about the Google-Preload list. If you send a preload directive, you should **immediately** add your domain to the HSTS preload list via https://hstspreload.org/ . If Google accepts the domain, so the status is "pending": Note that new entries are hardcoded into the Chrome source code and can take several months before they reach the stable version. So you will see this message some months. If you don't want that or if you don't understand "preload", but if you send a preload directive and if you have correct A-redirects, everybody can add your domain to that list. Then you may have problems, it's not easy to undo that. So if you don't want your domain preloaded, remove the preload directive.
|
| HSTS-Preload-Status: unknown. Domain never included in the Preload-list. Check https://hstspreload.org/ to learn some basics about the Google-Preload-List.
|
| A | Good: All urls with http status 200/404 have a complete Content-Type header (MediaType / MediaSubType + correct charset)
|
| A | http://huongdan.fpt.net/ 118.70.7.232
| https://huongdan.fpt.net/
| Correct redirect http - https with the same domain name
|
| N | https://118.70.7.232/ 118.70.7.232
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
| X | Fatal error: Nameserver doesn't support TCP connection: isp-fdns1.fpt.vn / 210.245.0.180: Timeout
|
| Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are the same. So that domain doesn't require Server Name Indication (SNI), it's the primary certificate of that set of ip addresses.: Domain huongdan.fpt.net, 1 ip addresses, 1 different http results.
|
| B | No _mta-sts TXT record found (mta-sts: Mail Transfer Agent Strict Transport Security - see RFC 8461). Read the result of server-daten.de (Url-Checks, Comments, Connections and DomainServiceRecords) to see a complete definition. Domainname: _mta-sts.huongdan.fpt.net
|
| 2. Header-Checks |
| A | huongdan.fpt.net 118.70.7.232
| Content-Security-Policy
| Ok: Header without syntax errors found: default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval'; script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline'; frame-ancestors * data: blob:; object-src 'self'
|
| F |
|
| Bad: default-src with "*" or a scheme found. That allows too much, don't use such a definition. connect-src, font-src, frame-src, img-src, script-src, style-src
|
| F |
|
| Bad: default-src with 'unsafe-inline' or 'unsave-eval'. That's dangerous, don't use it. connect-src, font-src, frame-src, img-src, script-src, style-src
|
| E |
|
| Bad: No form-action directive found. Use one to limit the form - action - destinations. form-action is a navigation-directive, so default-src isn't used.
|
| A |
|
| Good: frame-ancestors directive found. That limits pages who are allowed to use this page in a frame / iframe / object / embed / applet. frame-ancestors is a navigation-directive, so default-src isn't used.
|
| E |
|
| Bad: No base-uri directive found. Use one to limit the URLs which can be used in a document's <base> element. Because it's a document directive, default-src isn't used, so an own directive is required.
|
| A |
|
| Good: object-src only with 'none' or 'self' found, no scheme, no other urls. That blocks object / embed / applet - elements.
|
| F |
|
| Critical: script-src with 'unsafe-inline' or 'unsafe-eval' and without a nonce found. That's dangerous, don't use it. If you really need one of these unsafe directives, add a nonce.
|
| F |
|
| Critical: script-src with * or a scheme found. Never allow wildcard - sources.
|
| F |
|
| Dangerous: script-src with data: schema found. The data: schema allows hidden code injection. Insert <script src='data:application/javascript;base64,YWxlcnQoJ1hTUycpOw=='></script> in your page and see what happens.
|
| F |
|
| Dangerous: frame-src is defined and allows the data: schema. That allows hidden code injection. Insert <iframe src="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+PGh0bWw+PGJvZHk+PHA+YmVmb3JlPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmFsZXJ0KCdYU1MnKTwvc2NyaXB0PjxwPmFmdGVyPC9ib2R5PjwvaHRtbD4="></iframe> in your page and see what happens.
|
| C |
|
| Info: default-src and some other fetch directives have the same list of values. Remove the other fetch directive, default-src is used as fallback. Directives to remove: connect-src, font-src, frame-src, img-src, script-src, style-src
|
| A |
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
| A |
| Referrer-Policy
| Ok: Header without syntax errors found: no-referrer
|
| A |
| Permissions-Policy
| Ok: Header without syntax errors found: microphone=(),camera=(),payment=()
|
| A |
| X-Frame-Options
| Ok: Header without syntax errors found: DENY
|
| B |
|
| Info: Header is deprecated. May not longer work in modern browsers. DENY. Better solution: Use a Content-Security-Policy Header with a frame-ancestors directive. DENY - use 'none', SAMEORIGIN - use 'self'. If you want to allow some domains to frame your page, add these urls.
|
| A |
| X-Xss-Protection
| Ok: Header without syntax errors found: 1; mode=block
|
| B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 1; mode=block
|
| 3. DNS- and NameServer - Checks |
| A | Info:: 2 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 2 Name Servers.
|
| A | Info:: 2 Queries complete, 2 with IPv6, 0 with IPv4.
|
| A | Good: All DNS Queries done via IPv6.
|
| A | Good: Some ip addresses of name servers found with the minimum of two DNS Queries. One to find the TLD-Zone, one to ask the TLD-Zone.dns-a.fpt.vn (210.245.86.239, 2405:4800:103:2::4), dns-b.fpt.vn (118.69.166.10, 2405:4800:103:1::4)
|
| A | Good (1 - 3.0):: An average of 1.0 queries per domain name server required to find all ip addresses of all name servers.
|
| A | Info:: 3 different Name Servers found: dns-a.fpt.vn, dns-b.fpt.vn, isp-fdns1.fpt.vn, 2 Name Servers included in Delegation: dns-a.fpt.vn, dns-b.fpt.vn, 2 Name Servers included in 2 Zone definitions: dns-a.fpt.vn, dns-b.fpt.vn, 1 Name Servers listed in SOA.Primary: isp-fdns1.fpt.vn.
|
| A | Good: Only one SOA.Primary Name Server found.: isp-fdns1.fpt.vn.
|
| Error: SOA.Primary Name Server not included in the delegation set.: isp-fdns1.fpt.vn.
|
| A | Good: All Name Server Domain Names have a Public Suffix.
|
| Error: Name Server Domain Names with Public Suffix and without ip address found.: 1 Name Servers without ipv4 and ipv6: 1
|
|
|
| A | Info: Ipv4-Subnet-list: 2 Name Servers, 2 different subnets (first Byte): 118., 210., 2 different subnets (first two Bytes): 118.69., 210.245., 2 different subnets (first three Bytes): 118.69.166., 210.245.86.
|
| A | Excellent: Every Name Server IPv4-address starts with an unique Byte.
|
| A | Info: IPv6-Subnet-list: 2 Name Servers with IPv6, 1 different subnets (first block): 2405:, 1 different subnets (first two blocks): 2405:4800:, 1 different subnets (first three blocks): 2405:4800:0103:, 2 different subnets (first four blocks): 2405:4800:0103:0001:, 2405:4800:0103:0002:
|
| A | Good: Name Server IPv6 addresses from different subnets found.
|
| X | Nameserver Timeout checking Echo Capitalization: isp-fdns1.fpt.vn / 210.245.0.180
|
| X | Nameserver Timeout checking EDNS512: isp-fdns1.fpt.vn / 210.245.0.180
|
| Nameserver doesn't pass all EDNS-Checks: isp-fdns1.fpt.vn: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result.
|
| Nameserver doesn't pass all EDNS-Checks: isp-fdns1.fpt.vn: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result.
|
| Nameserver doesn't pass all EDNS-Checks: isp-fdns1.fpt.vn / 210.245.0.180: OP100: fatal timeout. FLAGS: fatal timeout. V1: fatal timeout. V1OP100: fatal timeout. V1FLAGS: fatal timeout. DNSSEC: fatal timeout. V1DNSSEC: fatal timeout. NSID: fatal timeout. COOKIE: fatal timeout. CLIENTSUBNET: fatal timeout.
|
| A | Good: All SOA have the same Serial Number
|
| A | Good: CAA entries found, creating certificate is limited: digicert.com is allowed to create certificates
|
| A | Good: CAA entries found, creating certificate is limited: globalsign.com is allowed to create certificates
|
| A | Good: CAA entries found, creating certificate is limited: letsencrypt.org is allowed to create certificates
|
| A | Good: CAA entries found, creating certificate is limited: digicert.com is allowed to create wildcard-certificates
|
| 4. Content- and Performance-critical Checks |
| https://huongdan.fpt.net/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
|
| Warning: Not existing ACME-file, but Server sends 200, not 404 or redirect. May be a problem creating a Letsencrypt certificate. Checking /.well-known/acme-challenge/random-filename - a http status 404 - Not Found - is expected. If your server sends content and a http status 200, the validation file (87 bytes, token, dot and the hash of the public part of the account key) may be invisible, so Letsencrypt can't validate your domain. If it is an application that sends this content, perhaps create an exception, so /.well-known/acme-challenge sends raw files. Or create a redirect to another domain and / or port 443, but your Letsencrypt client must support such a solution. Certbot: Use webroot as authenticator - https://certbot.eff.org/docs/using.html Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask.
|
| https://huongdan.fpt.net/ 118.70.7.232
|
| Warning: https result with status 200 and size greater then 1024 Bytes without Compression found. Add Compression support (gzip, deflate, br - these are checked) so the html content is compressed.
|
| https://huongdan.fpt.net/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
|
| Warning: https result with status 200 and size greater then 1024 Bytes without Compression found. Add Compression support (gzip, deflate, br - these are checked) so the html content is compressed.
|
| https://118.70.7.232/ 118.70.7.232
|
| Warning: https result with status 200 and size greater then 1024 Bytes without Compression found. Add Compression support (gzip, deflate, br - these are checked) so the html content is compressed.
|
| https://huongdan.fpt.net/ 118.70.7.232
|
| Warning: Https + http status 200 + Inline CSS / JavaScript found. Don't use inline CSS / JavaScript. These are compiled and re-used ressources, save these with a long Cache-Control max-age - header.
|
| https://huongdan.fpt.net/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
|
| Warning: Https + http status 200 + Inline CSS / JavaScript found. Don't use inline CSS / JavaScript. These are compiled and re-used ressources, save these with a long Cache-Control max-age - header.
|
| https://118.70.7.232/ 118.70.7.232
|
| Warning: Https + http status 200 + Inline CSS / JavaScript found. Don't use inline CSS / JavaScript. These are compiled and re-used ressources, save these with a long Cache-Control max-age - header.
|
| https://huongdan.fpt.net/ 118.70.7.232
|
| Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space.
|
| https://huongdan.fpt.net/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
|
| Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space.
|
| https://118.70.7.232/ 118.70.7.232
|
| Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space.
|
| A | Good: Every https connection via port 443 supports the http/2 protocol via ALPN.
|
| A | Good: All script Elements (type text/javascript) and src-Attribute have a defer / async - Attribute. So loading and executing these JavaScripts doesn't block parsing and rendering the Html-Output.
|
| Warning: CSS / JavaScript found without Compression. Compress these ressources, gzip, deflate, br are checked. 6 external CSS / JavaScript files without GZip found - 0 with GZip, 6 complete
|
| Warning: CSS / JavaScript files with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 3 external CSS / JavaScript files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 6 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 9 complete.
|
| A | Good: All checked attribute values are enclosed in quotation marks (" or ').
|
| A | Info: No img element found, no alt attribute checked
|
| A | Good: Domainname is not on the "Specially Designated Nationals And Blocked Persons List" (SDN). That's an US-list of individuals and companies owned or controlled by, or acting for or on behalf of, targeted countries. It also lists individuals, groups, and entities, such as terrorists and narcotics traffickers designated under programs that are not country-specific. Collectively, such individuals and companies are called "Specially Designated Nationals" or "SDNs." Their assets are blocked and U.S. persons are generally prohibited from dealing with them. So if a domain name is on that list, it's impossible to create a Letsencrypt certificate with that domain name. Check the list manual - https://www.treasury.gov/resource-center/sanctions/sdn-list/pages/default.aspx
|
| http://huongdan.fpt.net/ 118.70.7.232
|
| Warning: HSTS header sent via http has no effect
|
| A | Duration: 321297 milliseconds, 321.297 seconds
|