Hoe HTTP headers instellen? *

  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
23 okt 2018 21:19 #17960 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Hoi Hans
Gezien zoals je zelf aangeeft, dat er veel meer bij komt kijken dan alleen maar kopiëren en plakken met de hoop dat het werkt natuurlijk. Je moeten weten dat waar men mee bezig is, en de materie eerst goed verwerkt om het te kunnen begrijpen.

De reden dat ik juist de topics apart had gemaakt, wat dus om alles van elkaar te onderscheiden, en alleen op dat onderwerp verder te kunnen gaan. Men ziet te veel in forums, dat er iets uitgelegd wordt en ineens dwalen ze af van het onderwerp. tevens ieder onderwerp apart, kan ook resulteren in zoekmachines dat mensen sneller deze kant op komen voor dit onderwerp.

Naast dat feit een script regel neerzetten kan iedereen, en daar houd de tekst en uitleg op, als leek kan is het ongelooflijk moeilijk om dat te begrijpen.
Code:
Header set X-Content-Type-Options nosniff

Goed waar neer te zetten wordt niet beschreven, ook niet of je dat tussen dit moet zetten
Code:
<IfModule mod_headers.c> </IfModule>
En natuurlijk de benaming ervan, niet iedereen weet wat er exact moet komen te staan.

Spijtig genoeg heb ik die kennis niet meer in mijn geheugen, omdat absoluut eens even fijn uit te leggen zoals ik dat wel kon. Spijtig maar waar, als ik het wel te weten zou komen, vermeld ik dit per direct in de topic van onderwerp. En natuurlijk kijken of het klopt en of mee kan denken of het ook anders kan zoals 3 topics eerder het geval was.

Ik hoop natuurlijk dat iemand Content-Security-Policy dit ons kan uitleggen.

Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
25 okt 2018 21:58 #17990 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Ik heb mij helemaal suf gelezen over Content-Security-Policy, goed ongelooflijk complex

Het blijkt dat het nog in ontwikkeling te zijn, en er zijn alsnog te veel problemen ermee dat het onstabiel blijkt te zijn. Er wordt ook gesproken over een ander groot probleem als men dit nu gaat gebruiken. Er bestaat een kans dat je zelfs op een blacklist kan komen te staan als het niet correct wordt uitgevoerd en of door "self" te gebruiken

Goed uit de vele informatie, is het 1 keer gelukt met zeer veel aanpassingen om de Content-Security-Policy te laten werken. Resultaat een A+ door een groene balkje erbij te krijgen. Echter die is inmiddels weer weg. ;)

Ben ik er achtergekomen, dat alles in een .js bestand moet komen te staan, de scripting kwam mij wel ergens bekend voor maar kon niet achterhalen welke dat was.
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
26 okt 2018 19:07 #18002 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Content-Security-Policy

Deze is verwijderd, gezien dat de opbouw er niet van klopte.

De Content-Security-Policy is best wel belangrijk, hopelijk kan ik hier binnenkort de complete uitleg geven. Dat zal wel als laatste worden geplaatst, helemaal compleet.
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
27 okt 2018 09:34 #18013 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Nou Hans hier kom je nog van terug met je website

Klik hier maar eens

Je hebt nog veel werk te doen volgens mij, ik ook trouwens volgens hun test website.:p
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
29 okt 2018 17:16 #18038 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Nog 1 te gaan

Hans deze kan je aan je lijst toevoegen op de website en eigen gebruik

Feature Policy
Je moet wel even de eigen domeinnaam eraan toevoegen
Code:
<IfModule mod_headers.c> Header always set Feature-Policy "vibrate 'self'; microphone 'none'; sync-xhr 'self' JOUWWEBSITENAAM.eu;" </IfModule>

Op naar de Content-Security-Policy
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
31 okt 2018 17:32 #18049 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Strict-Transport-Security

De Strict-Transport-Security komt te staan in de .htaccess bestand.

De gegevens hieronder zijn de correcte instellingen en een Strict-Transport-Security te verkrijgen voor HTTPS
Code:
<IfModule mod_headers.c> Header always set Strict-Transport-Security: "max-age=63072000; includeSubDomains; preload" env=HTTPS </IfModule>

Uitleg Aanmeldvereisten

Als een site de preload-richtlijn in een HSTS-header verzendt, wordt deze beschouwd als een verzoek om opname in de preload lijst en kan deze worden ingediend via het formulier op deze site

Om via dat formulier te worden geaccepteerd op de HSTS-preloadlijst, moet uw site voldoen aan de volgende reeks vereisten:

1 - Het moet een geldig SSL certificaat zijn
2 - Omleiden van HTTP naar HTTPS op dezelfde host, als u op poort 80 luistert.
3 - Alle subdomeinen via HTTPS.
3A - In het bijzonder moet u HTTPS voor het www-subdomein ondersteunen als er een DNS-record voor dat subdomein bestaat.
4 - Bied een HSTS-header op het basisdomein voor HTTPS-aanvragen:
4A - De maximale leeftijd moet minimaal 31536000 seconden (1 jaar) zijn.
4B - De includeSubDomains-instructie moet worden opgegeven.
4C - De preload-richtlijn moet worden opgegeven.
4D - Als u een extra omleiding vanaf uw HTTPS-site uitvoert, moet die omleiding nog steeds de HSTS-header hebben (in plaats van de pagina waarnaar deze verwijst).

Zoals eerder vermeld de link naar de Controleer de HSTS-voorlaadstatus en geschiktheid let goed op nadat het scherm eerst ROOD is, dat na een tweede test als je scherm dan GROEN wordt. ALLES IS GOED LEZEN voordat je verder gaat om je aan te melden.

De melding is dan als volgt nadat je de submit knopt hebt ingedrukt: Status: JOUWDOMEINNAAM.NL is in afwachting van indiening bij de preloadlijst.

Hopende, dat dit een bijdragen zal zijn voor ieder.
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
31 okt 2018 20:45 #18051 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Access-Control-Allow-Origin

Getest en werkend
Een antwoord dat de browser vertelt om aanvragende code van de oorsprong jouwwebsite.nl toe te staan om toegang tot een resource te krijgen, omvat het volgende:
Code:
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin: https://JOUWDOMEINNAAM.nl Header set Access-Control-Expose-Headers: "X-My-Custom-Header, X-Another-Custom-Header" Header set Access-Control-Allow-Methods: "POST, GET" Header set Access-Control-Allow-Headers: "X-PINGOTHER, Content-Type" </IfModule>

Een antwoord dat de browser vertelt om code van elke herkomst toe te staan om toegang te krijgen tot een resource, omvat het volgende:
Code:
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin: * </IfModule>
Deze laatste, geeft een oranje Access-Control-Allow-Origin, dit wat aangeeft dat er een instelling niet goed staat. Hierbij zou je dus zelf moeten controleren via deze website of Access-Control-Allow-Origin niet oranje gekleurd is.

Maar er moet nog meer gedaan worden, dat zal ik hier beschrijven.

1 maak een .js bestand, en het noemen we cors.js bestand en plaats deze in de volgende folder

media/system/js/cors.js

In het cors.js bestand komt het volgende te staan
Code:
import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @component public class SimpleCORSFilter implements Filter { private final Logger log = LoggerFactory.getLogger(SimpleCORSFilter.class); public SimpleCORSFilter() { log.info("SimpleCORSFilter init"); } @override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me"); chain.doFilter(req, res); } @Override public void init(FilterConfig filterConfig) { } @Override public void destroy() { } }

Goed sla nu je werk op in de eerder aangegeven folder.

Dan ga je alles testen en dat kan je doen op deze website

Hoe moet je dat gedeelte gebruiken, vul het volgende in jouwwebsite.nl/media/system/js/cors.js

In het scherm komt eronder een vermeld te staan, deze melding kan aangeven dat er een fout is gemaakt zoals "is dit uw origin". Als dat het geval is, dat heb je het niet goed uitgevoerd en loop nogmaals de stappen door die ik eerder heb beschreven.

Maar je kan ook deze melding krijgen
Code:
<script src="<?php echo $this->baseurl ?>/media/system/js/cors.js" integrity="sha384-ZgiM44B/UmgDihJfxMTsnJK2ZmE7ntFfQVyapv8C7pgpb18HDfjDh6Xxh06t1Mw3" crossorigin="anonymous"></script>

Dat moet je te zien krijgen met niets anders erbij.

Ik hoop hierbij jullie iets verder te hebben geholpen met deze zeer belangrijke informatie.
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
31 okt 2018 20:58 #18052 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Cloaking

Hoe kan je dit voorkomen, en het is ook nog eens goed voor de SEO, lees eerst dit over Cloaking, dan zal je direct begrijpen wat er bedoeld wordt.

Getest en werkend, toevoegen in je htaccess bestand.
Code:
<IfModule mod_headers.c> Header set Vary: User-Agent </IfModule>
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
31 okt 2018 21:21 #18053 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
Cache-Control

Cache-Control kan men op diverse manieren gebruiken zoals hieronder is opgezet

Je kan met de tijden en of seconden gaan spelen, welke je niet moet veranderen is max-age=31536000

Iedere website is verschillend hoe het zal reageren, om de Page SpeedScore en de Fully Loaded Time in de gaten te houden. Omdat te kunnen doen kan je dat hier testen
Code:
<IfModule mod_headers.c> Header set Cache-Control "no-cache, no-store, must-revalidate, public, max-age=31536000" Header always set Transfer-Encoding: compress Header set Expires: 0 Header set Age: 506614 Header set max-stale: 10 Header set min-fresh: 20 Header set TE: "Trailer=1#field-name, deflate;q=0.5" </IfModule>

Er zijn natuurlijk meerdere opties die je eraan toe kunt voegen, maar laat ik eerst de gene vermelden die je NIET moet gebruiken.

stale-while-revalidate=<seconds>
stale-if-error=<seconds

Deze kan je dus wel gebruiken

Voorrang op de maximumleeftijd of de header Expires, maar deze is alleen van toepassing op gedeelde caches (bijvoorbeeld proxies) en wordt genegeerd door een privécache.
s-maxage=<seconds>

Geeft aan dat de klant bereid is een reactie te accepteren die de vervaltijd heeft overschreden. Optioneel kunt u een waarde in seconden toewijzen, die aangeeft hoe laat het antwoord niet moet zijn verlopen met.
max-stale[=<seconds>

Geeft aan dat de cliënt een reactie wil die nog steeds vers is gedurende ten minste het opgegeven aantal seconden.
min-fresh=<seconds>

Hoe dat te gebruiken hieronder een voorbeeld dat waar de tijd staat ingesteld .

Specificeert de maximale hoeveelheid tijd dat een hulpbron als verfrest zal worden beschouwd. In tegenstelling tot Expires is deze richtlijn gerelateerd aan het tijdstip van het verzoek.
max-age=31536000

Al heb je dit als geheel komt het dus zo te staan Header set Cache-Control "max-age=10"

Al wil je bijvoorbeeld s-maxage=<seconds> eraan toe voegen, doe je dat zo
Code:
<IfModule mod_headers.c> Header set Cache-Control "max-age=31536000, s-maxage=10" </IfModule>

en zo doe je dat met de rest die je eraan toe wilt voegen in de <IfModule mod_headers.c>
Discussie gesloten.
  • JoopMantel
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
31 okt 2018 23:49 #18054 door JoopMantel
Beantwoord door JoopMantel in topic Hoe HTTP headers instellen? *
@hansvandermeer

Hans zou jij eens kunnen zien dat of dit wel bij jou werkt
Code:
Content-Security-Policy: default-src 'self'; img-src *; media-src *

of deze anders
Code:
Content-Security-Policy: default-src 'self'; img-src *; media-src *; child-src https://player.vimeo.com https://www.youtube.com

De reden dat ik dit vraag, heeft te maken dat mijn website front het volgende beeld blijft geven wat ik ook veranderd (zie foto)
Ook al zou ik alleen dat in de htacess bestand zet, blijft het beeld het zelfde zoals op de foto
Bijlagen:
Discussie gesloten.
Gemaakt door Kunena