plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 Witam, Na swoich stronach internetowych posiadam film w tle mp4 (hosting na linuxpl) Mam problem z tym plikiem ponieważ widzę, że boty zużywają mi transfer przy wejściach na stronę. Z jednego numeru IP polskiego miałem 149 tys wywołań do tego pliku. (240 gb transferu zostało zużyte w jeden dzień) W jaki sposób mogę zablokować w htaccess dostęp do tego pliku, tak żeby bez problemu był odtwarzany w tle na stronie. Czy mogę w inny sposób poradzić sobie z numerami IP, które wywołują ten plik po kilkaset razy? Dziękuję z góry za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach
Desavil 88 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) Ustaw jakieś cache na pliki mp4. Pomocne może być również użycie CloudFlare jako CDN. Edytowano Styczeń 22, 2017 przez Desavil (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 Admin na pytanie: W jaki sposób ustawić cache na pliki mp4 odpisał mi : Nie ma nic takiego. Udostępnij ten post Link to postu Udostępnij na innych stronach
bybunny 540 Zgłoś post Napisano Styczeń 22, 2017 cos takiego? RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] RewriteRule \.(mp4)$ - [F] 1 Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 cos takiego? RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] RewriteRule \.(mp4)$ - [F] Co powoduje powyższa reguła? Udostępnij ten post Link to postu Udostępnij na innych stronach
bybunny 540 Zgłoś post Napisano Styczeń 22, 2017 Tu masz link do tutka: http://www.translationdirectory.com/articles/article1318.phpZabezpieczy przed podlinkowaniem pliku z rozszerzeniem mp4 z zewnątrz. Modyfikując ostatnia linijkę na:RewriteRule \. (mp4) $ http://www.mydomain.com/stop.png [R, L] Każdy kto będzie chciał podlinkować czy umieścić twoje wideo na swojej stronie otrzyma obrazek stop.png. Oczywiście nazwa domeny to przykład wzięty z tutka. Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) Tu masz link do tutka: http://www.translationdirectory.com/articles/article1318.php Zabezpieczy przed podlinkowaniem pliku z rozszerzeniem mp4 z zewnątrz. Modyfikując ostatnia linijkę na: RewriteRule \. (mp4) $ http://www.mydomain.com/stop.png [R, L] Każdy kto będzie chciał podlinkować czy umieścić twoje wideo na swojej stronie otrzyma obrazek stop.png. Oczywiście nazwa domeny to przykład wzięty z tutka. Czy zablokuje to zużywanie transferu przez boty, które wchodzą na stronę i odpalają film. Edytowano Styczeń 22, 2017 przez plachcik (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bybunny 540 Zgłoś post Napisano Styczeń 22, 2017 Powinieneś rozróżnić wejścia na stronę od podlinkowania. Tu ewidentnie widać że ktoś po prostu albo się bawił albo zrobił to nieświadomie. Możesz wycinać pojedyncze IP lub rozbudować plik powyżej umieszczając konkretne nagłówki przeglądarek. Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotr GRD 608 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) Upewnij się, że Twój serwer wysyła właściwe dyspozycje co do trzymania w cache rzadko zmieniających się plików, tak aby nie były wywoływane przy każdym wyświetleniu strony. Np. w .htaccess można dodać coś na kształt: <ifmodule mod_expires.c> <Filesmatch "\.(flv|mov|mp3|mp4)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </Filesmatch> </ifmodule> Oczywiście to od klienta (przeglądarki, bota) ostatecznie zależy, czy za tymi wytycznymi będzie podążać, "dobre" boty zwykle trzymają się reguł, "złe" bardzo często mają to wszystko gdzieś i i tak robią co chcą. Jeśli masz kłopot ze szczególnymi botami, możesz po prostu zablokować tylko je po adresach IP. Np. ja w ubiegłym roku miałem problem z jakimiś bliżej niezidentyfikowanymi botami hostowanymi w jednej z serwerowni chmury Amazona, zablokowałem więc wszystkie IP tejże serwerowni. Użycie jakiegoś CDN (np. wspomnianego CloudFlare, choć to nie jedyna opcja) oczywiście też znacząco pomoże (choć osobiście nie jestem fanem takich rozwiązań, szczególnie w wersji darmowej, gdzie nie nad każdym aspektem działania CDN ma się kontrolę). Edytowano Styczeń 22, 2017 przez Piotr GRD (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 Upewnij się, że Twój serwer wysyła właściwe dyspozycje co do trzymania w cache rzadko zmieniających się plików, tak aby nie były wywoływane przy każdym wyświetleniu strony. Np. w .htaccess można dodać coś na kształt: <ifmodule mod_expires.c> <Filesmatch "\.(flv|mov|mp3|mp4)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </Filesmatch> </ifmodule> Oczywiście to od klienta (przeglądarki, bota) ostatecznie zależy, czy za tymi wytycznymi będzie podążać, "dobre" boty zwykle trzymają się reguł, "złe" bardzo często mają to wszystko gdzieś i i tak robią co chcą. Jeśli masz kłopot ze szczególnymi botami, możesz po prostu zablokować tylko je po adresach IP. Np. ja w ubiegłym roku miałem problem z jakimiś bliżej niezidentyfikowanymi botami hostowanymi w jednej z serwerowni chmury Amazona, zablokowałem więc wszystkie IP tejże serwerowni. Użycie jakiegoś CDN (np. wspomnianego CloudFlare, choć to nie jedyna opcja) oczywiście też znacząco pomoże (choć osobiście nie jestem fanem takich rozwiązań, szczególnie w wersji darmowej, gdzie nie nad każdym aspektem działania CDN ma się kontrolę). Dziękuję wszystkim za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach
bybunny 540 Zgłoś post Napisano Styczeń 22, 2017 To dotyczy urządzeń mobilnych więc jest to może dość drastyczne rozwiązanie ale stosując to:RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|opera mobile|palmos|webos" [NC]RewriteRule ^$ http://stop.example.com/ [L,R=302] Przeniesiesz wszystkich odwiedzających na subdomenę stop.... A to może będzie również przydatne: http://incredibill.me/ Udostępnij ten post Link to postu Udostępnij na innych stronach
devon 50 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) No ale co to ci rozwiąże? Wytniesz cały ruch mobilny? Ustaw CF i zablokuj ruch tylko przez CF. Szybko wyłapują taką zabawę. "Robienie transferu" nie jest trudne - kilka VPS i np. coś takiego: http://pastebin.com/t1mXtQSE i lecą setki GB na dzień. CDN + wycinanie ruchu tylko poszczególnych adresów. Wywalenie całego mobilnego to nie rozwiązanie. Nagłówki raczej nic nie zmienią - to prosto podmienić. Edytowano Styczeń 22, 2017 przez devon (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) Problemem jest to, że na urządzeniach na tabletach i smartfonach film (.mp4) na stronie w tle nie jest nawet odtwarzany, a generuje transfer. Edytowano Styczeń 22, 2017 przez plachcik (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
devon 50 Zgłoś post Napisano Styczeń 22, 2017 (edytowany) Nie wiem jak to wygląda ale jeżeli rozumiem to tło jakieś strony jest dynamiczne i jest tam film? Łatwiej go wrzucić na yt jako prywatny i embed. Nie wiem jak to wygląda ale to najłatwiejsze rozwiazanie cache też zbyt wiele nie zmienia - wystarczy że bot je czyści i tyle. Tutaj nie ma łatwego rozwiązania. Zacznij od prostego wycinania po ip. order allow,deny deny from 8.8.8.8 allow from all ew. dla cloudflare podepnij i pozwól tylko dla: https://www.cloudflare.com/ips/ Edytowano Styczeń 22, 2017 przez devon (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
plachcik 0 Zgłoś post Napisano Styczeń 22, 2017 Wrzuciłem do pliku .htaccess RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?strona.pl/.*$ [NC] RewriteRule \.(mp4)$ - [F] <ifmodule mod_expires.c> <Filesmatch "\.(flv|mov|mp3|mp4|jpg|gif|png|jpeg})$”> ExpiresActive on ExpiresDefault "access plus 1 year" </Filesmatch> </ifmodule> <filesMatch ".(css|jpg|jpeg|png|gif|js|ico|mp4)$”> Header set Cache-Control "max-age=31536000, public" </filesMatch> Mam nadzieję, że pomoże. Udostępnij ten post Link to postu Udostępnij na innych stronach