Moja ramka jest najmojsza!

Kilka dni temu naczelnik Wiadomości24.pl zaserwował internautom smieszno straszny spektakl wylewając żale na agregatory. w24.pl EPIC fail oskarża, że kradną content i użytkowników, że trzepią kasę na cudzej pracy (przypominam redaktor w firmie która zarabia sprzedając treści tworzone za darmo przez własną społeczność), etc.
Poszło między innymi o ramkę (frameset) którą serwis Wykop dodaje do wykopaliska na wyraźne życzenie własnych użytkowników (każdy może ten ficzer wyłączyć w konfiguracji, czyli jeśli ramka jest znaczy luser sobie życzy right?) który ułatwia kopanie. Artykuł oczywiście trafił na Wykop, gdzie w krótkim czasie zyskał ponad 400 punktów i wygenerował w kilka dni około 20’000 odsłon jeśli wierzyć licznikowi w serwisie wiadomosci24.pl. Zresztą efekt można zobaczyć na wykresie Alexy .
W necie na chwilę zawrzało i generalnie ocena artykułu była jedna. „Strzał do własnej bramki”. Ktoś podpowiedział, naczelnik zadziałał i w serwisie wiadomości24.pl pojawił się kod odpowiedzialny za „uciekanie z frameset”. Można było tak od razu, ale wtedy nie byłoby tyle śmiechu, więc z mojego chorego punktu widzenia, jest dobrze jak jest, bo przynajmniej coś się dzieje.

I to byłby praktycznie koniec historii, gdyby nie to, że cała sprawa uświadomiła mi, że tak na prawdę serwis uciekający z wykopowej ramki robi mi koło pióra. I nie chodzi tylko o wiadomosci24.pl ale też np. wikinews.pl. Oraz pewnie wiele innych, ale akurat w przypadku wikinews sprawa była o tyle istotna, że kilka razy zdażyło mi się, że mi uciekło. No to się wariat zaczął był zastanawiać, czy jak chce uciekać to musi mu się udać? Bo w końcu jesteśmy na moim końcu internetu, znaczy w mojej przeglądarce, to dlaczemu ….

  1. Wyłączyć firefoksa
  2. Otworzyć ~/.mozilla/firefox/profil/user.js w edytorze
  3. Naklepać w środku:
    $ cat user.js
    // Nie będzie nam uciekał z ramki kto chce ;-)
    user_pref("capability.policy.policynames", "noframebuster");
    user_pref("capability.policy.noframebuster.sites", "http://www.wiadomosci24.pl http://pl.wikinews.org");
    user_pref("capability.policy.noframebuster.Window.location", "noAccess");
    
  4. Włączyć Fx
  5. działa? U mnie działa 😀

To niech teraz spróbują uciec! Moja ramka jest najmojsza :D.

Cały myk wykorzystuje niejakie Configurable Security Policies firefoksa, czyli mechanizm pozwalający na selektywne włączanie i wyłączanie pewnych akcji dla konkretnych stron. Całkiem sprytna zabawka nieprawdaż?

I na koniec jeszcze uwaga. Fx tak jak kiedyś Mozilla kopiuje całą zawartość user.js do prefs.js i stamtąd ją uruchamia. Znaczy to tyle, że jeśli będziemy się chcieli tych ustawień pozbyć nie wystarczy wyczyścić plik user.js, ale należy te same wpisy wykasować w pliku prefs.js który leży w profilu tuż obok. Jak dla mnie to zawsze był Bug, ale widać jestem w tym dość odosobniony skoro działa to tak samo przez tyle lat. Wiem, wiem mogę spróbować zarobić wontfixem na bugzilli, ale mi się kurka nie chce, może kiedyś 😀