View previous topic :: View next topic |
Author |
Message |
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Jun 13, 2007 10:33 Post subject: |
|
|
Слушайте, а ведь с момента появления этого глюка почти ни одного спамерского сообщения не появилось! Может, так и оставим, а? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
BeTeP
Joined: 31 Mar 2005 Posts: 105 Location: Санкт-Петербург
|
(Separately) Posted: Wed Jun 13, 2007 11:52 Post subject: |
|
|
CJ Flash wrote: | Нашел пару альтернативных решений Проксомитрону в борьбе с нежелательным обновлением страниц, для пользователей Firefox (впрочем, Opera тоже понимает UserJS-скрипты):
1. Расширение RefreshBlocker 0.4.
2. UserJS-скрипт для расширения GreaseMonkey 0.7 - здесь
Оба варианта работают (да и автор у них один ). Опробовано мной лично. |
CJ Flash, спасибо за подсказку. Поставил RefreshBlocker 0.4, теперь можно спокойно читать форум. |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Wed Jun 13, 2007 12:35 Post subject: |
|
|
В AdMuncher поставить галочку в Настройках – Фильтрация – «Запрещать сайты, перезагружающие их непосредственно» _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Wed Jun 13, 2007 12:40 Post subject: |
|
|
Quote: | с момента появления этого глюка почти ни одного спамерского сообщения не появилось! | Да, я тоже обратил на это внимание. Напрашивается интересный вывод - спамят живые люди? Роботу это, наверно, было бы по барабану. |
|
Back to top |
|
|
Alextp
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Wed Jun 13, 2007 13:06 Post subject: |
|
|
Quote: | вывод - спамят живые люди? Роботу это, наверно, было бы по барабану. |
Спамят живые люди + роботы.
Смотри заголовки спама. Там всякая фигня в т.ч. и от роботов. |
|
Back to top |
|
|
funduk
Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Wed Jun 13, 2007 13:45 Post subject: |
|
|
Дело не в том, что не спамят, а в том, что не регятся. Последний зарегился 11.06. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Wed Jun 13, 2007 14:01 Post subject: |
|
|
Quote: | Successful approach
Given a tag like so: <META http-equiv="refresh" content="n"/>
Code: |
var stopTimer = window.setTimeout("window.stop();",
(n-1)*1000); // in case load hasn't finished when the refresh fires
window.addEventListener("load", function(){
try { window.clearTimeout(stopTimer); } catch(ex) {}
window.stop();
}, true); |
First Attempt
Mozilla (and Firefox) have an interface called nsIRefreshURI, which defines a cancelRefreshURITimers() function. However, I believe it is impossible to access this via a Greasemonkey user script because of security features that prevent scripts operating in the context of a remote page to access the necessary local interfaces inside Mozilla.
Here is Javascript code that (should) disable autorefresh:
Code: |
var nsIInterfaceRequestor = Components.interfaces.nsIInterfaceRequestor;
var nsIWebNavigation = Components.interfaces.nsIWebNavigation;
var nsIRefreshURI = Components.interfaces.nsIRefreshURI;
var requestor = window.QueryInterface(nsIInterfaceRequestor);
var navigator = requestor.getInterface(nsIWebNavigation);
var refresher = navigator.QueryInterface(nsIRefreshURI);
refresher.cancelRefreshURITimers(); |
This fails on the 5th line:
var navigator = requestor.getInterface(nsIWebNavigation);
with a "Permission denied to create wrapper for object of class UnnamedClass" exception. A quick web search reveals that this is a security-related error -- scripts operating in the context of a remote page can not access this particular interface. If there is another way to get to the nsIRefreshURI interface, without going through nsIWebNavigation, then it may be possible to disable autorefresh. But I haven't found it yet.
It should be possible to create a full-fledged Firefox extension to do this, since extensions operate in a more privileged context and should therefore be able to access the required interfaces.
Second attempt
Even easier would be to use the magical docShell interface:
Code: |
var nsIInterfaceRequestor = Components.interfaces.nsIInterfaceRequestor;
var nsIWebNavigation = Components.interfaces.nsIWebNavigation;
var nsIRefreshURI = Components.interfaces.nsIRefreshURI;
var requestor = window.QueryInterface(nsIInterfaceRequestor);
var navigator = requestor.getInterface(nsIWebNavigation);
var docShell = navigator.QueryInterface(nsIDocShell);
docShell.allowMetaRedirects = false; |
Again, this needs to be done with a full-fledged extension; Greasemonkey user scripts do not have privileges to access the necessary interfaces. |
Как правильно настроить какой-то из этих JS в Opera 9 для *.wincmd.ru и *.totalcmd.net? |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
|
Back to top |
|
|
CJ Flash
Joined: 15 Feb 2006 Posts: 128 Location: Череповец
|
(Separately) Posted: Wed Jun 13, 2007 17:58 Post subject: |
|
|
Возможно, причина в этом:
Quote: | Greasemonkey user scripts do not have privileges to access the necessary interfaces. |
Или в том, что не все скрипты корректно отрабатывают в Opera. Кстати, помнится, есть даже какой-то скрипт для Opera, включающий поддержку скриптов Greasemonkey. _________________ The past was yesterday...
TC 8.51a x32, #116718 Personal licence |
|
Back to top |
|
|
test1024
Joined: 09 Nov 2006 Posts: 76
|
(Separately) Posted: Wed Jun 13, 2007 18:10 Post subject: |
|
|
CaptainFlint wrote: | Слушайте, а ведь с момента появления этого глюка почти ни одного спамерского сообщения не появилось! Может, так и оставим, а? |
То есть сделаем форум закрытым? Не регятся ведь и нормальные люди! |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Wed Jun 13, 2007 18:30 Post subject: |
|
|
2CJ Flash
Quote: | Возможно, причина в этом: Цитата:
Greasemonkey user scripts do not have privileges to access the necessary interfaces. |
Забей. Там постом ниже я ссылку на работающий скрипт дал. Тот тоже для походу Greasemonkey сделан. Я дал ему раширение user.js и всё работает. |
|
Back to top |
|
|
CJ Flash
Joined: 15 Feb 2006 Posts: 128 Location: Череповец
|
(Separately) Posted: Wed Jun 13, 2007 19:54 Post subject: |
|
|
DrShark
А мне чего забивать, у меня Firefox (да и Проксомитрон работает). А ссылочка "на работающий скрипт" еще в моем посте была... _________________ The past was yesterday...
TC 8.51a x32, #116718 Personal licence |
|
Back to top |
|
|
CJ Flash
Joined: 15 Feb 2006 Posts: 128 Location: Череповец
|
(Separately) Posted: Wed Jun 13, 2007 19:57 Post subject: |
|
|
CaptainFlint wrote: | Слушайте, а ведь с момента появления этого глюка почти ни одного спамерского сообщения не появилось! Может, так и оставим, а? |
Уж лучше взять пример с danceforum.ru - там все темы видны только зарегистрированным пользователям с количеством постов не менее 3-х. Гостям видна только одна тема - в ней и надо набирать те самые 3 поста (тема периодически чистится). Действенный способ, надо сказать. _________________ The past was yesterday...
TC 8.51a x32, #116718 Personal licence |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Wed Jun 13, 2007 20:05 Post subject: |
|
|
Quote: | А ссылочка "на работающий скрипт" еще в моем посте была | Ну ты редиска! Я только сейчас понял, что под словом "здесь" была отдельная ссылка на скрипт! Так и сижу, с мытой шеей и проксомитроном. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Jun 13, 2007 20:08 Post subject: |
|
|
test1024 wrote: | То есть сделаем форум закрытым? Не регятся ведь и нормальные люди! |
CJ Flash wrote: | Уж лучше взять пример с danceforum.ru <...> |
Блин, да шутка это была, шутка! Я что, зря смайлики ставлю? _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
|