Задать вопрос
  • Простейшая защита от DDOS на PHP?

    @SusaPusa
    Мне Claude AI написал очень крутую защиту от DOS средней и малой интенсивности на php - работает на любом хостинге и vds с php и mysql. Проверить как оно работает можно здесь kinoprostor.tv, murkir.pp.ua. Там заблокированный человек может сам себя разблокировать, а роботы курят в сторонке.
    Ответ написан
    Комментировать
  • Как средствами JS остановить воспроизведение видео с youtube на странице?

    @SusaPusa
    <script>
    // Загрузка YouTube IFrame API
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    
    var players = [];
    
    function initPlayer(iframe) {
      var player = new YT.Player(iframe, {
        events: {
          'onStateChange': function(event) {
            if (event.data === YT.PlayerState.PLAYING) {
              // Пауза для всех других плееров
              players.forEach(function(p) {
                if (p !== event.target) p.pauseVideo();
              });
            }
          }
        }
      });
      players.push(player);
      iframe.dataset.ytInitialized = true;
    }
    
    window.onYouTubeIframeAPIReady = function() {
      // Инициализация существующих iframe
      document.querySelectorAll('iframe[src*="youtube.com/embed"]').forEach(iframe => {
        if (!iframe.dataset.ytInitialized) {
          const src = new URL(iframe.src);
          src.searchParams.set('enablejsapi', '1');
          iframe.src = src.toString();
          initPlayer(iframe);
        }
      });
    
      // Наблюдатель для новых iframe
      new MutationObserver(mutations => {
        mutations.forEach(mutation => {
          mutation.addedNodes.forEach(node => {
            if (node.tagName === 'IFRAME' && node.src.includes('youtube.com/embed')) {
              const src = new URL(node.src);
              src.searchParams.set('enablejsapi', '1');
              node.src = src.toString();
              initPlayer(node);
            }
          });
        });
      }).observe(document.body, { childList: true, subtree: true });
    };
    </script>
    DeepSeek написал код который останавливает воспроизведение сразу нескольких видео, играет только одно.
    Ответ написан
    Комментировать