Jak otworzyć stronę z pliku z HTTPS (wtf)

Jak otworzyć stronę z pliku z HTTPS (wtf)
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 8 godzin
  • Postów:5141
0

Potrzebowałem zrobić prostą stronkę która zachowuje się jak playlista, ale napotkałem dziwny problem, a mianowicie niektóre filmiki wyrzucają "Film niedostępny". Rozwiązanie jakie znalazłem to odpalenie tego z https i faktycznie to rozwiązanie działa, jednak nie widzę sensu w odpalaniu czegoś tak prostego jako web app lub za pomocą jakiegoś serwera HTTP.

Więc, jak miałbym nie wiem... zfakeować origin aby udawał https dla stronki odpalanej po prostu z pliku index.html?

chociaż może to potencjalnie byłoby jakieś security issue? xD

Kod po prostu odtwarza w pętli filmy na YT zdefiniowane w videos.

Kopiuj
<div id="player"></div>

<script src="https://www.youtube.com/player_api"></script>

<script>
var videos = ['dQw4w9WgXcQ']
var index = 0;
var player;

function onYouTubePlayerAPIReady() {
	player = new YT.Player('player', {
		height: '390',
		width: '640',
		videoId: videos[index],
		events: {
			'onReady': onPlayerReady,
			'onStateChange': onPlayerStateChange
		}
	});
}

function onPlayerReady(event) {
	event.target.playVideo();
}

function onPlayerStateChange(event) {        
	if(event.data === 0) {            
		MoveNext();
	}
}

function MoveNext() {
	if (index == videos.length - 1 || index < 0)
		index = 0;
	else
		index++;
	
	player.loadVideoById(videos[index]);
}
</script>

Zmiana: <script src="https://www.youtube.com/player_api"></script> na http nic nie pomogła.

edytowany 12x, ostatnio: WeiXiao
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
5

Ciesz się, że nie zablokowali kompletnie ruchu bez ssl, bo takie plany miało i nadal ma google. Z tego powodu powstało let`s encrypt by nie płacić za ssl dla prostych stron ale by spełnić wymogi przeglądarek. Niestety musisz się z tym pogodzić.


It's All About the Game.
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 8 godzin
  • Postów:5141
0

@mr_jaro

no ale nawet localhost?

mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
2

Nawet. Na ten przykład wszelkie podpinanie mikrofonu, kamery, geolokalizacji itp nie podepniesz bez https nawet lokalnie :p Kiedyś jeszcze ff miał localhosta odblokowanego ale potem i oni zablokowali.


It's All About the Game.
enedil
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 12 godzin
  • Postów:1027
4

Natomiast na localhosta możesz sobie wystawić self-signed certificate.

hauleth
Albo zostać lokalnym CA. IMHO to jest nawet lepsze rozwiązanie, zwłaszcza jak ustawisz sobie resolver by zwracał loopback na całym *.localhost (systemd ma to domyślnie).
obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:około 11 godzin
0

Jeśli chcesz tylko u siebie otworzyć tę stronę to po prostu musisz wyłączyć zabezpieczenia żeby pozwolić na mixed content

https://docs.adobe.com/content/help/en/target/using/experiences/vec/troubleshoot-composer/mixed-content.html


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 9 godzin
1
WeiXiao napisał(a):

Potrzebowałem zrobić prostą stronkę która zachowuje się jak playlista, ale napotkałem dziwny problem, a mianowicie niektóre filmiki wyrzucają "Film niedostępny". Rozwiązanie jakie znalazłem to odpalenie tego z https i faktycznie to rozwiązanie działa, jednak nie widzę sensu w odpalaniu czegoś tak prostego jako web app lub za pomocą jakiegoś serwera HTTP.

Więc, jak miałbym nie wiem... zfakeować origin aby udawał https dla stronki odpalanej po prostu z pliku index.html?

chociaż może to potencjalnie byłoby jakieś security issue? xD

Jak widać z postu OPowi chodzi nie o różnicę http:// vs https:// tylko różnicę file:// vs (http:// albo https://). Otóż file:// ma dzisiaj poblokowane sporo rzeczy. Nie jest też traktowane jako localhost. Tu jest trochę informacji: https://textslashplain.com/2019/10/09/navigating-to-file-urls/ Jak pogrzebiesz w necie to pewnie znajdziesz więcej.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 2x, ostatnio: Wibowit
obscurity
wspomina o localhost, więc chyba jednak nie file://
Wibowit
To dlaczego napisał: jednak nie widzę sensu w odpalaniu czegoś tak prostego jako web app lub za pomocą jakiegoś serwera HTTP? Jak można mieć HTTP bez serwera HTTP? @WeiXiao masz w przeglądarce URL zaczynający się od file:// czy od http://?
WeiXiao
Gdy odpalam z pliku (via file) to nie trybi. Jak ten sam kod odpale sobie jako web appkę (https://localhost:12345) to śmiga.
obscurity
no być może. W każdym razie dość smutne że file a teraz nawet zwykłe http jest tak blokowane, kiedyś dało się zapisać stronę na dysk i ją obejrzeć offline, dzisiaj ze świecą szukać takich stron
Wibowit
@WeiXiao: co się stanie jak odpalisz stronę z http://localhost:<port bez SSLa>? zadziała?
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 8 godzin
  • Postów:5141
0

screenshot-20201013180347.png

screenshot-20201013180458.png

screenshot-20201013182139.png

edytowany 3x, ostatnio: WeiXiao
Wibowit
Zrób test z http://localhost i też wstaw screenshota.
Wibowit
Danx. Czyli na http://localhost też działa. Może i dobrze.
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 9 godzin
0

Jak sobie otworzę index.html w Chrome to w narzędziach programisty widzę kilka pozycji w zakładce Network, gdy zaznaczę opcję: Has blocked cookies. Widocznie Chrome blokuje jakieś ciasteczka konieczne do pracy YouTube'a. Znalazłem na necie https://bugs.chromium.org/p/chromium/issues/detail?id=535 "Issue 535: Support cookies on file://" ale to chyba jest martwe.

Poza tym odpowiedzi w tym temacie to niezłe WTF. Jak zainstalować SSLa do protokołu file://? :P Co z tego wyjdzie? files://?


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 3x, ostatnio: Wibowit
mr_jaro
bardzo prosto, nie używać files tylko https.
Wibowit
czyli szklanka wody zamiast
Wibowit
poza tym (jak widać ze screenshotów) https nie jest potrzebny by oglądać YT, więc to i tak zupełnie nie jest odpowiedź na pytanie postawione w temacie
DP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:159
0

Może użycie innego playera (nie YT) rozwiąże problem wyświetlenia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.