Einige Seiten werden nicht korrekt auf Mobiltelefonen empfangen (viele in Frankreich): JavaScript-Skriptelemente sind inline.Meine Skripte sind von einigen Mobilfunkanbietern inline - Wie geht man damit um?
Statt
<script src="static/jquery-2.1.3.min.js"></script>
zu haben habe ich
<script> ... content of the whole jQuery script ... </script>
Als Content Security Policy-Header Ich habe verbietet Inline-Scripts, moderne Browser die Ausführung des Skripts blockieren.
Gibt es eine Möglichkeit, anders als mit HTTPS umzugehen? Vielleicht sollte eine Möglichkeit, die Seite anzugeben, nicht von Dritten neu geschrieben werden?
Hinweise:
- der CSP-Header ist nicht genug, um einen Hinweis auf die von Drittanbietern, die Transformation zu tun
- der
Cache-Control:no-transform
Header als auch - jede Antwort ignoriert denen die Zugabe eines Inline Skript ist keine Antwort, da das Ziel darin besteht, alle Inline - Skripte für die Sicherheit zu entfernen
- das Problem ist nicht verwandt mit der Injektion von ergänzenden Skripten (das würde meine Website nicht als die brechen Browser angewiesen, sie nicht auszuführen), sondern auf die inlining des vorhandenen Skripte
- das Problem ist nicht spezifisch für jeden Betreiber: Ich bin für eine (reasonnably) allgemeine Lösung
Können Sie uns zeigen, worüber Sie sprechen? Das scheint ein bisschen vage zu sein. Außerdem haben Sie uns nicht mitgeteilt, welche serverseitige Sprache oder Ihr Framework Sie verwenden, um diesen Inhalt bereitzustellen. Sind Sie sicher, dass es ein Mobilfunkanbieter ist? Wenn ja, was macht dich sicher? Welche Tests haben Sie durchgeführt, um das festzustellen? –
@GeorgeStocker Ich sehe [diese Seite] (http://dystroy.org/miaou/login) von verschiedenen Geräten. Die meisten von ihnen erhalten die normale Version (und es scheint nicht im Zusammenhang mit Benutzer-Agent oder solche Dinge zu sein, die Sie leicht verspotten können). –
Öffnen dieser Seite mit Desktop-Chrome im Emulationsmodus zeigt keine Skripte inline, so dass es wie ein Proxy/ISP-Problem klingt. – ssube