Beiträge von Williams

    Auf meinen Webseiten verwende ich:

    Code
     Header always set X-Frame-Options: "sameorigin"

    Allow from ist mittlerweile auch gar nicht mehr von allen Webbrowser unterstützt.

    Mozilla schreibt zu diesem HTTP response header folgendes:

    Beachten Sie, dass die Richtlinie X-Frame-Options durch die Richtlinie zur Inhaltssicherheit ersetzt wurde frame-ancestors, die eine wesentlich genauere Kontrolle über die Ursprünge ermöglicht, die zum Framen einer Website zulässig sind. Da frame-ancestorsin IE11 und älter, Edge, Safari 9.1 (Desktop) und Safari 9.2 (iOS) noch nicht unterstützt wird, wird empfohlen, dass Websites X-Frame-Options zusätzlich zur Verwendung von CSP verwenden.

    Websites, die die Fähigkeit zum Iframe erfordern, müssen entweder eine Inhaltssicherheitsrichtlinie verwenden und/oder JavaScript-Abwehrmaßnahmen einsetzen, um Clickjacking böswilligen Ursprungs zu verhindern.

    (Quelle Mozilla)

    Ich schreibe die Header in die Datei Security.conf.

    Außer CSP sind eigentlich alle Header einfach einzufügen. Um Inhalte die von anderen Webseiten kommen einzuschränken ist auch eher dieser CSP Header gedacht.

    1. Einmal den Server neu aufsetzten

    2. Ein sicheres SSH Passwort festlegen

    3. Kein normales FTP verwenden. ( Bessere Alternative ist SFTP auch SSH FTP genannt)

    4. Als Verschlüsselung TLS 1.2 oder 1.3 Verwenden. (Da die oben genannte Webseite auf einem Apache läuft kann die TLS Konfiguration so aussehen:

    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 ( Mit der Webseite https://www.ssllabs.com/ testen))

    5. Sicherheit relevante Header setzen (Mit der Webseite https://securityheaders.io können die Header überprüft werden und dort erhält man auch weiter Infos dazu)

    Header always set Referrer-Policy: strict-origin

    Header always set X-XSS-Protection: "1; mode=block"

    Header always set X-Content-Type-Options: "nosniff"

    Header always set X-Frame-Options: "sameorigin"

    Header always set Strict-Transport-Security: "max-age=31536000; includeSubDomains"

    Header always set Permissions-Policy: interest-cohort=()

    Header always set Cross-Origin-Opener-Policy: (same-origin|same-origin-allow-popups|unsafe-none)

    Header always set Cross-Origin-Embedder-Policy (unsafe-none|require-corp)

    Header always set Cross-Origin-Resource-Policy: (same-site|same-origin|cross-origin)

    Header always set Expect-CT: max-age=10000

    Nach unzähligen Stunden Internet Recherche, Header konfigurieren und testen habe ich eine halbwegs brauchbare aber dennoch noch nicht perfekte Policy geschrieben.

    Währe schön wenn man für eine Standard ZP Webseite mit Online Shop die benötigten csp Konfiguration irgendwo finden könnte. Wenn ich selber was einbaue weiß ich ja woher das kommt, und wie ich das aktiviere.

    Die gängigen CSP Generatoren liefern einem ja auch nicht immer das Perfekte Ergebnis und man muss dann das Ergebnis von allen Webseiten zu einem Text zusammenfassen weil der Header ja in der security.conf geschrieben wird auf allen Webseiten die gleichen Header ausgibt. zudem gefällt mir das Wörtchen unsafe in der script-src gar nicht. Aber ohne funktioniert die Webseite nicht so wie sie soll ?(


    Im Spoiler habe ich mal eingefügt was mein Server als CSP Konfiguration ausliefert.

    Spoiler anzeigen

    Hat Jemand bereits eine ZP Webseite mit PHP Code mit PHP 8 im Einsatz, und kann sagen ob alles Funktioniert und wie groß der Performancezuwachs gegenüber 7.4.13 ist? Sofern JIT überhaupt genutzt wird.

    Natürlich wusst ich dass, beim erstellen des Vhost hab ich das in die conf Datei Geschrieben. Woher hab ich wohl den Fehler Code in #21.

    Ich hab jetzt mal eine Kiste bei dem verein Bestellt bei dem ich die Domain gekauft habe. TLS und Header Einstellungen haben die nicht im Griff. Aber Seht bei Zeta genau so aus. Mal sehen obs bei denen läuft.

    also wenn ich folgendes mache verbessert sich was:

    Vorschaubilder /var/www/shop/assets/php: 0775 -> 0777

    Artikeldetail wird sichtbar /var/www/shop/assets/php/SHOP_DATA/1aceba08096841278e6fbbd209accb67: 0775 -> 0777

    kann es sein das die Gruppenberechtigungen die ZP sich aussucht nicht ausreichen um die Dateien zu verarbeiten zu können ?

    Da waren die Artikel sichtbar, und habe mir die info.php angeschaut.

    Doch wir sind viel weiter die Vorschaubilder werden geladen und die Artikel kann man sehen.

    Das ging gestern noch nicht.

    Aktuell kommt immer noch die Fehlermeldung wenn man was bestellt, ich sehe aber im System was Bestellt wurde. Hmm ...

    Zu früh gefreut, die Datei zpshop.phar hat volle rechte, trotzdem verweist jedes mal ein Fehler dort hin.

    [Mon Feb 10 18:21:24.023103 2020] [php7:error] [pid 15636] [client 46.165.177.186:51290] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000] [14] unable to open database file in phar:///var/www/shop/assets/php/shop/zpshop.phar/core/storage/ShopWebStorageController.inc.php:10\nStack trace:\n#0 phar:///var/www/shop/assets/php/shop/zpshop.phar/core/storage/ShopWebStorageController.inc.php(10): PDO->__construct('sqlite:/var/www...')\n#1 phar:///var/www/shop/assets/php/shop/zpshop.phar/bl/shop/controllers/ShopInventoryManagementController.inc.php(281): ShopWebStorageController->GetPdo()\n#2 phar:///var/www/shop/assets/php/shop/zpshop.phar/bl/shop/controllers/ShopInventoryManagementController.inc.php(27): ShopInventoryManagementController->GetInventoryHistoryItemsByArticleId('71')\n#3 phar:///var/www/shop/assets/php/shop/zpshop.phar/bl/shop/controllers/ShopInventoryManagementController.inc.php(698): ShopInventoryManagementController->CalculateAmountInStockForArticle('71')\n#4 phar:///var/www/shop/assets/php/shop/zpshop.phar/web-api/model-helper/ShopArticleWebApiModelHelper.inc.php(45): ShopInventoryManagementController-> in phar:///var/www/shop/assets/php/shop/zpshop.phar/core/storage/ShopWebStorageController.inc.php on line 10, referer: https://williams.wtf/luefter.php

    Ich habe ZP 15.2. Webseite-Features Prüfen habe ich schon ausgeführt bevor ich mit meinen Problemen mich hier auslassen habe. Da steht: Alle Anforderungen sind erfüllt.

    Dies habe ich aus anderen Beiträge auf diesem Forum schon entnommen das es diese Funktion gibt. Ich habe vorher nämlich schon versucht es alleine zu lösen.

    Tut mir leid wenn ich das am Anfang nicht deutlich genug geschrieben hatte.

    Das ist eine gute Idee. Danke, warum bin ich nicht selbst darauf gekommen? zeta hat mehrere php Erweiterungen die aber nicht als Voraussetzung angegeben sind. wie zb mysql. Von der Konfiguration an sich versteh ich zu wenig um beurteilen zu können woran es liegt. Ich bin Mechaniker kein Informatiker ?(

    Ich habe jetzt mal eine 3. Webseite auf den Server geschmissen, ganz neu erstellt, Genau gleiches Problem. Zu dieser poste ich jetzt kein link weil die Seite nächste Woche laufen soll und zwar ohne Shop. Ich geh mal davon aus das der Server nicht ganz unbeteiligt ist an diesem Problem. Aber wie gesagt sind alle PHP Erweiterungen auf dem Server und über apt-get update und apt-get upgrade lässt sich auch keine neuere Version von den Programmen installieren. Ich binn am verzweifeln.

    Ich tausche sie aus. Ist jetzt wieder unter williams.wtf erreichbar. Wenn ich nicht am Server oder Webseite arbeite, habe ich eine andere Seite auf der stelle, da ich nicht möchte dass sich jemand auf einen nicht funktionierenden Shop verirrt. Aber wenn das notwendig ist um herauszufinden weshalb es nicht geht lass ich die Seite mal so online.

    Ich binn mir nicht sicher weshalb die SSH FTP Einstellung eine rolle spielen sollte da er ja eine Verbindung aufbauen kann. Aber Bitteschön:. Die Berechtigungen des Benutzerkonto ist im Ordner der Webseite 0775 (0777 machts aber auch nicht besser)

    Wenn ich egal auf welcher weise die Webseite auf den Server verschiebe sehe ich keine Produktbilder. Und nach einem klick auf das gewünschte Produkt erscheint nur eine weiße Seite :cursing:

    Ich habe PHP und die ganzen Erweiterungen über "sudo apt-get install" installiert. zeta Producer meint auch das nichts fehlt, aber nach dem veröffentlichen über zeta Producer erscheint bei einem klick auf Live-Daschboard : Das Live Dashboard steht erst nach der Veröffentlichung zur Verfügung. :/. Klickt man auf den Pfeil unten links > Details, bekomme ich ne Fehlermeldung angezeigt.

    Kann das sein das man nach dem herunterladen von php und den Erweiterungen noch irgendwas konfigurieren muss ? Davon steht nichts auf der Zeta Webseite.

    Wenn ich die Seite auf dem PC über zeta's localhost teste funktioniert alles.

    Eine php info liegt im Hauptverzeichnis der Webseite williams.wtf

    Ich versuche jetzt schon 2 Monate Lang das zum laufen zu bringen. Habe 4 verschiedene Betriebssysteme probiert (win 10, Linux mint, openmedia vault und jetzt Ubuntu Server ) und ca 20 Mal das Betriebssystem neu installiert weil ich dachte ich muss doch irgendwas falsch gemacht haben. Aber jedes mal funktioniert es nicht. Auch wenn ich den Server neustarte seht es noch genau so aus wie vorher.


    Die Fehlermeldung :


    Spoiler anzeigen

    ZetaProducer.RuntimeBusinessLogic.Common.ZpRuntimeBusinessLogicException

    -----------------

    SQLSTATE[HY000] [14] unable to open database file

    -----------------

    bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.<>c__DisplayClass4_0`1.<callApiObject>b__0(WebClientEnhanced client) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\RuntimeBusinessLogic\Shop\RemoteWebApi\ShopBackendWebApiCaller.Core.cs:Zeile 85.

    bei ZetaProducer.Main.WebAccess.WebServiceManager.<>c__DisplayClass47_0.<ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi>b__3() in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\WebServiceManager.cs:Zeile 436.

    bei ZetaProducer.Main.WebAccess.ProxyProtect.DoProxyProtect(WebClient client, ProxyMethodToProtectDelegate d1, ConfigureProxyDelegate2 d2) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\ProxyProtect.cs:Zeile 188.

    bei ZetaProducer.Main.WebAccess.ProxyProtect.DoProxyProtect(WebClient client, Control currentForm, ProxyMethodToProtectDelegate d1) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\ProxyProtect.cs:Zeile 82.

    bei ZetaProducer.Main.WebAccess.WebServiceManager.<>c__DisplayClass47_0.<ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi>b__0() in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\WebServiceManager.cs:Zeile 431.

    bei ZetaProducer.Main.WebAccess.WebServiceManager.GuardWebServiceCall(SimpleAction action, SimpleActionFailure onFailure, SimpleActionSuccess onSuccess) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\WebServiceManager.cs:Zeile 371.

    bei ZetaProducer.Main.WebAccess.WebServiceManager.ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi(ShopWebApiCalleeDelegate del) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\WebAccess\WebServiceManager.cs:Zeile 429.

    bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.callApiObject[T](IDictionary`2 input, Deserialize`1 needDeserialize) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\RuntimeBusinessLogic\Shop\RemoteWebApi\ShopBackendWebApiCaller.Core.cs:Zeile 53.

    bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.Authenticate() in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\RuntimeBusinessLogic\Shop\RemoteWebApi\ShopBackendWebApiCaller.Authentication.cs:Zeile 15.

    bei ZetaProducer.Main.Shop.Dashboard.ShopDashboardShower.<>c__DisplayClass1_0.<ShowDashboard>b__0(Object sender, DoWorkEventArgs e) in c:\P\ZP\15.2\ZetaProducerMain\Source\Core\Main\Shop\Dashboard\ShopDashboardShower.cs:Zeile 66.

    ZpRuntimeBusinessLogicException

    {

    Message="SQLSTATE[HY000] [14] unable to open database file",

    Data=

    [

    "inputJson" = "{\\"action\\":\\"authenticate-for-backend\\",\\"apiKey\\":\\"1aceba08096841278e6fbbd209accb67\\",\\"version\\":\\"15.1.0.0\\"}"

    "resultJson" = "{\\"success\\":false,\\"msg\\":\\"SQLSTATE[HY000] [14] unable to open database file\\"}"

    "url" = "http://williams.wtf/assets/php/sho…ate-for-backend"

    "jsonException" = null

    ]

    ,

    InnerException=null,

    TargetSite=RuntimeMethodInfo: <callApiObject>b__0,

    StackTrace=" bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.<>c__DisplayClass4_0`1.<callApiObject>b__0(WebClientEnhanced client) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\RuntimeBusinessLogic\\Shop\\RemoteWebApi\\ShopBackendWebApiCaller.Core.cs:Zeile 85.\\r\\n bei ZetaProducer.Main.WebAccess.WebServiceManager.<>c__DisplayClass47_0.<ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi>b__3() in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\WebServiceManager.cs:Zeile 436.\\r\\n bei ZetaProducer.Main.WebAccess.ProxyProtect.DoProxyProtect(WebClient client, ProxyMethodToProtectDelegate d1, ConfigureProxyDelegate2 d2) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\ProxyProtect.cs:Zeile 188.\\r\\n bei ZetaProducer.Main.WebAccess.ProxyProtect.DoProxyProtect(WebClient client, Control currentForm, ProxyMethodToProtectDelegate d1) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\ProxyProtect.cs:Zeile 82.\\r\\n bei ZetaProducer.Main.WebAccess.WebServiceManager.<>c__DisplayClass47_0.<ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi>b__0() in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\WebServiceManager.cs:Zeile 431.\\r\\n bei ZetaProducer.Main.WebAccess.WebServiceManager.GuardWebServiceCall(SimpleAction action, SimpleActionFailure onFailure, SimpleActionSuccess onSuccess) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\WebServiceManager.cs:Zeile 371.\\r\\n bei ZetaProducer.Main.WebAccess.WebServiceManager.ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.IShopWebApiCallingExecutor.DoCallShopWebApi(ShopWebApiCalleeDelegate del) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\WebAccess\\WebServiceManager.cs:Zeile 429.\\r\\n bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.callApiObject[T](IDictionary`2 input, Deserialize`1 needDeserialize) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\RuntimeBusinessLogic\\Shop\\RemoteWebApi\\ShopBackendWebApiCaller.Core.cs:Zeile 53.\\r\\n bei ZetaProducer.RuntimeBusinessLogic.Shop.RemoteWebApi.ShopBackendWebApiCaller.Authenticate() in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\RuntimeBusinessLogic\\Shop\\RemoteWebApi\\ShopBackendWebApiCaller.Authentication.cs:Zeile 15.\\r\\n bei ZetaProducer.Main.Shop.Dashboard.ShopDashboardShower.<>c__DisplayClass1_0.<ShowDashboard>b__0(Object sender, DoWorkEventArgs e) in c:\\P\\ZP\\15.2\\ZetaProducerMain\\Source\\Core\\Main\\Shop\\Dashboard\\ShopDashboardShower.cs:Zeile 66.",

    HelpLink=null,

    Source="ZetaProducer.RuntimeBusinessLogic",

    HResult=-2146233088

    }