タイトルの通りです。2つの異なるcpanelサーバーの同じサイトに、これとまったく同じコードを使用してYouTubeビデオを埋め込むと、同等のPHPとApacheが実行されます。違いは - 1 つは SSL、もう 1 つはポート 80 HTTP です。
両方の英国のサーバー。
HTTP は再生され、SSL サイトは制限されたコンテンツに対して UMG エラーを返します。
埋め込み生成 HTML の例は次のとおりです。
<iframe id="ytplayer" width="100%" height="100%" frameborder="0" src="http://www.youtube.com/embed/My0HQ0QkGLQ?autoplay=1&origin=http://example.co.uk" type="text/html">
PHP ページは、browse.php?url=http://www.youtube.com/watch?v=KyAyuZPNo2w&type=video という URI で呼び出されます。次に、stripvid() が埋め込み ID を取得します。
HTTPS フレーム内でページを HTTP としてロードする方法はありますか? 同じドメインの両方のページ。
更新:: ビデオの URL を HTTP 以外のサーバーにリダイレクトして、iframe を解析して返すことができます。しかし、それは HTTPS ページ -> HTTP iframe -> Youtube iframe です。その量のiframeに夢中になる技術者がここにいるでしょう...ああ、まあ。もっと良いものを思いつきますか?;)
「&origin=https://example.com」を http に変更しても解決しません。
else if($_GET['type']=="video"){
$yurl = stripvid($url);
if ($yurl!=$url){
echo '<link href="examplecss.css" rel="stylesheet" type="text/css"><script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.animate-colors.js"></script>
<script type="text/javascript" src="pixeljs.php"></script></head><body onload="sizewindow()"><div id="ytplayerdiv" style="height:100%; width:100%">
<iframe id="ytplayer" type="text/html" style="height:100%; width:100%"
src="http://www.youtube.com/embed/'.$yurl.'?autoplay=1&origin=https://example.com"
frameborder="0"/>
</div>
</body></html>';
}