Ressourcen-Icon

XF1.x Cookie SameSite Support 1.0

Keine Rechte zum Download
funktioniert...
upload_2020-8-31_9-46-54.png

Im Chrome werden nun keine Fehler mehr angezeigt.

Firefox meldet:
upload_2020-8-31_9-50-24.png

Sollte soweit also passen, mal sehen was seitens der Nutzer gesagt wird. :)
 
Im FF kann man sich zwar abmelden, aber wird augenscheinlich noch angemeldet angezeigt. Erst ein F5 oder Ctrl+F5 lässt einen dann auch selbst sehen das man abgemeldet ist.
Dies betrifft aber ausschließlich die Portal (Jaxel) Seite.
Melde ich mich mit dem FF in der Forenübersicht z.B. ab, dann zeigt er es sofort an.

Da scheint es also noch ein Problem mit Jaxels Portal zu geben.
 
Vielleicht mal ein neues Cookie-Prefix (z.b. xf1a) vergeben, damit alle bisherigen Cookies ungültig sind?

Falls das Portal nicht den SetCookie-Wrapper von xF verwendet, dann werden die Änderungen bezgl. SameSite natürlich nicht unterstützt.
 
Zuletzt bearbeitet:
Hier mal eine Problembeschreibung eines Mitgliedes und Fach-ITlers aus hobby-gartenteich.de :
Testposting 02

Vorher nochmals:
- Cookies gelöscht
- abgemeldet
- Browser geschlossen
- geöffnet und wieder angemeldet
- Test Strg+F5 - diesmal keine Neuanmeldung nötig
- Testposting 02 erstellt
- per Button auf die Startseite gewechselt

Ergebnis:
- leider ist der aktuelle Post dieses Threads nicht zu sehen, nur mein vorheriges Posting
- Nach F5 steht der aktuelle Post drin
- Nach Klick darauf wird die Seite geladen.
- Fokus bleibt oben stehen, da letzter Beitrag nicht geladen ist
- Nach F5 wird der Beitrag geladen und der Fokus auf diesen gesetzt.


LG Carsten

PS:
Ich schalte nun die doc_frequenzy wieder um.
Schade, dass ich keine besseren Testergebnisse erzielen konnte. :(
Ach ja: FF Version 80.0

PPS:
Könnte das bitte noch ein anderer FF-Nutzer aus dem Forum testen?



PPPS:
Was mir noch ein-/aufgefallen ist, weil Jürgen in etwa geschrieben hatte "geht jetzt anscheinend".
Ja ja, es funktioniert immer dann wie gewünscht:
  • wenn keine eigenen Postings im Thread sind
  • oder wenn eigene Beiträge enthalten sind und die Seite lange nicht geladen wurde
Sobald ein Thread jedoch einen eigenen Beitrag enthält, dann kommt es zu dem unerwünschten Verhalten. - Zumindest was die einzelnen Threads betrifft, die Startseite müsste ich diesbezüglich nochmals gesondert testen/beobachten.

btw:
Die PN verhalten sich entsprechend den Threads, was wiederum zu erwarten war/ist und mMn auch so sein sollte.
Quelle: Fehler - Startseite nicht aktuell beim Aufruf und Login Probleme- Firefox ab Version 77

Und das ist seit Firefox v77 so, bis dahin war das nicht. Chrome und Edge funktionieren. Ich weiß langsam nicht mehr weiter...
 
Ich hab mir gerade mal die Seite angeschaut, und dein server setzt manche Header doppelt mit unterschiedlichen Werten, das könnte die Ursache sein. Und die sagen auch, das der Browser das cachen soll.

Beispiel:
Code:
cache-control: private, max-age=0
cache-control: max-age=604800, private, must-revalidate

und weiter unten:
Code:
strict-transport-security: max-age=31536000; includeSubDomains
strict-transport-security: max-age=15768000; includeSubDomains

Für eingeloggte sende ich extra no-cache.

Hast du irgendein SEO AddOn installiert, das dir die Header so zerschiesst?
 
Ich habs befürchtet... nach dem das Thema Cookie abgearbeitet war, konnts ja nur noch in die Richtung gehen. Hatte auch schon Redis im Verdacht weil im fraglichen Zeitraum auch da Updates lagen.

An den Werten im Header wurde aber schon seit mindestens letzten Winter nichts gemacht, die Probleme kamen aber erst (glaube, müsste nachsehen) ab Juni/Juli.

Hast du das beim Traktor-Forum so gesehen oder beim Teichforum oder bei beiden?

Nein, kein Header Addon, wenn - dann hab ich das alleine geschafft (und bin jetzt gerade nicht stolz drauf :D ;) )

Das Cache-Control dürfte aus der htaccess kommen, das andere, muss ich mal schauen... melde mich. Danke!
 
Das Cache-Control dürfte aus der htaccess kommen, das andere, muss ich mal schauen... melde mich. Danke!
Nutz du nicht auch Plesk? Hast du vielleicht bei der Domain Einstellungen unter PHP/Nginx vorgenommen?
 
max-age=31536000; includeSubDomains
kommt aus der htaccess (Hobby-Gartenteich):
Code:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Das jedoch:
max-age=15768000; includeSubDomains
kann ich bisher nicht finden...



Dieses:
cache-control: private, max-age=0
wird wohl daher stammen:
Code:
Header set Expect-CT "max-age=0; report-uri=https://www.hobby-gartenteich.de/reportOnly"

Und dies:
cache-control: max-age=604800, private, must-revalidate
daher:
Code:
<ifmodule mod_headers.c>
    <filesmatch "\\.(ico|pdf|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=31500000, public"
    </filesmatch>
    <filesmatch "\\.(css)$">
    Header set Cache-Control "max-age=2500000, public"
    </filesmatch>
    <filesmatch "\\.(js)$">
    Header set Cache-Control "max-age=2500000, private"
    </filesmatch>
    <filesmatch "\\.(x?html?)$">
    Header set Cache-Control "max-age=2500000, private, must-revalidate"
    </filesmatch>
    <filesmatch "\\.(php)$">
    Header set Cache-Control "max-age=604800, private, must-revalidate"
    </filesmatch>
</ifmodule>

Diesen Part setze ich mal testhalber auf ,max-age=0 und schau was der FF draus macht.
 
Ok, machen wirs komplett...

htaccess:
Code:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.hobby-gartenteich.de/xf/$1 [L,R=301]


Redirect 301 ^showthread.php\.php$ /xf/threads/%2/?
# RewriteCond %{QUERY_STRING} (^|&|\?)t=([0-9]+)($|&)
# RewriteRule ^showthread\.php$ /threads/%2/? [R=301,L]

Order deny,allow
Deny from .virginia.gov
Deny from .websense.net
Deny from .bop.gov
Deny from .hosted.static.webnx.com
Deny from .mia.tu-berlin.de
Deny from 130.117.119.
Deny from .ru
Deny from .cn
Deny from .il
Deny from .in
Deny from .tr

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>

# compress
<IfModule mod_deflate.c>
<FilesMatch "\.(js|jpg|jpeg|gif|png|css|txt|html)$">
ExpiresActive on
ExpiresDefault "access plus 1 day"
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

# cache
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 year"

    # bilder
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/x-icon "access plus 1 year"

    # css/javascript
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType text/html "access plus 1 month"

    # anderes
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/xhtml-xml "access plus 1 week"

</IfModule>

# 86.400 = 1 Tag, 604.800 = 1 Woche, 2.500.000 = über 1 Monat, 31.500.000 = über 1 Jahr
<ifmodule mod_headers.c>
    <filesmatch "\\.(ico|pdf|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=31500000, public"
    </filesmatch>
    <filesmatch "\\.(css)$">
    Header set Cache-Control "max-age=2500000, public"
    </filesmatch>
    <filesmatch "\\.(js)$">
    Header set Cache-Control "max-age=2500000, private"
    </filesmatch>
    <filesmatch "\\.(x?html?)$">
    Header set Cache-Control "max-age=2500000, private, must-revalidate"
    </filesmatch>
    <filesmatch "\\.(php)$">
    Header set Cache-Control "max-age=604800, private, must-revalidate"
    </filesmatch>
</ifmodule>

# disable any proxy transformation
  Header set Cache-Control "no-transform"

# Turn ETags Off
# <ifmodule mod_headers.c>
#     Header unset ETag
#     Header unset Last-Modified
# </ifmodule>
# FileETag None

########################################################
#            .htaccess generatet by CCK GROUP          #
# Please visit http://board.cck-group.info for Support #
########################################################
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*AhrefsBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BatchFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bot\ mailto:craftbot@yahoo\.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Buddy [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Copier [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*DISCo\ Pump [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Download\ Wonder [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Drip [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Flashget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetSmart [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gotit [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HMView [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FindLinks [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*ichiro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*curl [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*contype [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*NWSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoeDog [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*bushsniffer [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gigabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*magpie-crawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*mirago [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*seekbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*UnisterBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WiseNutBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*panopta [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MyEngines-Bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Jyxobot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WeatherBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Accoona-AI-Agent [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*trendictionbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*psbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*java [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Cerberian [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Girafabot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Xenu\ Link\ Sleuth [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Gigabot [OR]
# RewriteCond %{HTTP_USER_AGENT} ^.*Alexa [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*OutfoxBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*zspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*RufusBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gonzo1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*iCCrawler [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*genieBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WebCapture [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*YandexBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Yandex
RewriteRule ^.* - [F]

RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^.*$ X.html [L]

# Conten Security Police - nur Inhalte vom eigenen Server laden!
#Header set Content-Security-Policy: "default-src https: 'unsafe-inline' 'unsafe-eval'; img-src 'self'"

# HSTS verwenden
# Pflichtangabe: max-age""
# Optional: "includeSubDomains"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

# Verhindert mime based attacks, nur IE und Chrome
Header always set X-Content-Type-Options "nosniff"

# Aktiviert XSS Praeventions-/Filter-Tools
# Optional: mode=block
# Header set X-XSS-Protection "1; mode=block"

# Begrenzung der frame/iframe Darstellung
Header append X-Frame-Options "SAMEORIGIN"

# Cookies nur ueber SSL and kein Javascript Zugriff
# Optional: Expires, Max-Age, Path, Domain
Header always edit Set-Cookie (.*) "$1; HttpOnly; Secure"

# Kein PHP und System-Version ausgeben
Header always unset "X-Powered-By"


# Referrer Policy
Header set Referrer-Policy "origin-when-cross-origin"

# Expect-CT fuer kommende Implementation Okt 2017
Header set Expect-CT "max-age=0; report-uri=https://www.hobby-gartenteich.de/reportOnly"

# Disable server signature
ServerSignature Off

# Cookies sicher machen
Header always edit Set-Cookie (.*) "$1; Secure"

und Plesk nginx Settings:
 
Wenn du nginx benutzt wird die htaccess gar nicht abgefragt.
Oder nutzt du nginx nur als Proxy und leitest an Apache weiter?
 
Wenn ich das richtig gesehen habe im Screenshot wird Nginx nur für die statischen Sachen genutzt und Apache für die dynamischen.
 
Jupp, exakt so. So lief das auch seit Jahren ohne murren. :)

Bei den Cache Einstellungen muss aber wohl mal ausgemistet werden. Das scheint der FF wohl mittlerweile zu genau zu nehmen...
 
Hast du das beim Traktor-Forum so gesehen oder beim Teichforum oder bei beiden?
Ich hatte nur ins Teichforum geschaut.
Da ist echt viel drin, manchmal ist weniger mehr. Ich habe in meiner nginx config nichts über die Cache Header drin, das regelt XF alleine.
Ich würde die testweise alle mal rausnehmen.
Und ernsthaft rüber nachdenken komplett zu nginx zu wechseln, ist auch auch für den Server besser.
 
Ich hatte das annu dunnemal rein gekloppt, weil - so weit ich mich entsinne, das seitens Google bemängelt wurde (Seitentest).

Komplett nginx ist nicht, das hat andere Gründe, auf dem Server laufen x verschiedene Seiten/Projekte von mir, und bei dem geringen Nutzeraufkommen bei uns, hatte zumindest vor Jahren ein testweise kompletter Umstieg auf nginx keine nennenswerten Vorteile in Sachen Seitenladezeiten gebracht.
Aus den genannten Gründen kann/möchte ich nicht komplett auf nginx umsteigen.
 
Ich nutze auch Plesk und habe verschiedene Domains mit Nginx oder Apache am laufen. Sehr einfach mit Plesk zu handeln.
 
Ist ein Dedicated Root Server . Shared hab ich zuletzt 2003 genutzt.
Aktuell haben wir nen Server mit Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz, 64 GB Ram, 2x 512 GB SSD. Reicht für unsere Projekte locker aus, aber darum gehts doch eigentlich gar nicht. ;)
 
Zurück
Oben