Войти

Показать полную графическую версию : запретить сохранение страницы. ??


Страниц : [1] 2 3

Dafi
24-01-2005, 23:09
Знатоки, можно ли запретить сохранение страницы на j-javascript? чтобы не сработало "файл-сохранить как... (страница полностью)" или "файл-сохранить как... (только хтмл, те более строгое условие).
?

hasherfrog
24-01-2005, 23:22
Если придумаете как блокировать, проверьте, не снимается ли Ваша блокировка вот таким образом:

javascript:(function()
{ function R(a)
{ona = %22on%22+a;
if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true);
window[ona]=null;
document[ona]=null;
if(document.body) document.body[ona]=null;
}
R(%22contextmenu%22);
R(%22click%22); R(%22mousedown%22);
R(%22mouseup%22);
})()


Спасибо Vadikan за наводку.

Dafi
25-01-2005, 00:43
нииичё не понял :)
кто и где снимает блок? заходит посетитель на саит, пробует сохранить страницу в свою локальную папку и получает типа "не возможно...", вот это требуется :) в принципе сойдёт чтобы нельзя было сохранить полностью (те хтмл-код+все примочки в отдельной папке типа картинок, цсс и скрипт-файлов)
бывает такое в природе ж-жаваскрипт?

vadimiron
25-01-2005, 01:13
Dafi
Код страницы со всеми картинками передаётся компьютеру сервером и также сохряняется в компьютере (зависит от настроек браузера), то есть запрет на "Сохранить как..." ничего не даст, только против мало чего знающих людей защитит, а им то код страницы явно не нужен, отсюдо вывод, вся эта защита бессмысленна

Dafi
25-01-2005, 02:00
vadimiron
ну кеширование можно отключить в header() на пхп, это не проблема, я имею ввиду можно ли зделать так, чтобы не сработала команда из меню "файл-сохранить(как)"? при этой команде браузер предлагает варианты, и два из них это сохранить полностью (при этом сохраняется хтмл-код+картинки и цсс и скрипт-фаилы в отдельной папке, которая сама создаётся), или сохранить чисто хтмл-код.
вопрос в том: можно задизаблить хотябы 1-й вариант? (жскрипт, ВБ, активХ) например типа как блокируется правая кнопка мышки на жскрипт.

archy
25-01-2005, 08:37
Dafi
Если такое и возможно, то наверное только в осле, все потуги с жабаскрипт - защита от ламеров. Если контент передается на компьютер, то его всегда можно сохранить многими способами. Эта защита бесполезна!

hasherfrog
25-01-2005, 09:00
>>типа как блокируется правая кнопка мышки на жскрипт.
Приведённый выше кусок кода как раз отменяет эту блокировку. Т.е. она бесполезна против продвинутого пользователя.

vadimiron
25-01-2005, 13:07
чтобы не сработала команда из меню "файл-сохранить(как)"? при этой команде браузер предлагает варианты, и два из них это сохранить полностью (при этом сохраняется хтмл-код+картинки и цсс и скрипт-фаилы в отдельной папке, которая сама создаётся), или сохранить чисто хтмл-код.
Это слишком глубокое проникновение в настройки браузера, таким нельзя извне управлять

Dafi
25-01-2005, 15:04
Ну а для "не очень" прдвинутого юзера можно как то "засекретить" хотябы ж-жаваскрипт? (пхп он и так не увидит), те юзер заходит на саит и всё работает, но сохранив страницу, на локальном компе она становится неработоспособной (не работает жскрипт). И если возможно, то же самое относительно цсс-фаила.

archy
29-01-2005, 20:45
нет!

Dafi
02-02-2005, 01:53
не стал бы поднимать старую тему, но эта страница полностью не сохраняется, только хтмл. может браузер глючит ?

http://dev.mysql.com/doc/mysql/en/create-database.html

archy
02-02-2005, 12:26
Dafi
Это не спасает от сохранения страницы... Разбираться лень, но там какие заморочки с файлами стилей (через жабаскрипт выбираются... мож еще какие грабли есть)

elfoflorien
02-02-2005, 16:25
можно в конфигурации Apache вставить строки:
<Files ~ ".*\.css">
Order allow,deny
Deny from all
</Files>

<Files ~ ".*\.js">
Order allow,deny
Deny from all
</Files>
и никто не сможет скачать эти файлы через HTTP

на счет других WEB серверов - не знаю, никогда не делал :idontnow:
(как я понимаю, это только частичное решение проблемы) :bad:

так что лучше всего делать небольшие HTML файлы, и в них вставлять ссылки на внешние скрипты

Dafi
02-02-2005, 18:34
elfoflorien
спасибо, посмотрю настройки, уже просвет по теме... естестно жс и цсс в отдельных файлах :)

mar
03-02-2005, 00:51
elfoflorien
есои js/css-файлы не будут скачаны, то и не будут отрабатывать, т.к. отрабатывают они на стороне клиента (браузера). Или я чего-то не понимаю? :)

hasherfrog
03-02-2005, 01:10
Насколько я разбираюсь в веб-программировании (а разбираюсь я плохо :)), в примере с http://dev.mysql.com/doc/mysql/en/create-database.html используется глупость браусвера, а не запрет на скачивание css и js. Браусвер не трогает (не скачивает) ссылки на ссылки. А тут как раз такой случай - строка с описанием стиля определяется скриптом, а результат уже скачивается. Т.о. документа с описанием стиля как бы не существует - у меня нет имени конкретного файла., браусвер тупит, считая некорректным сохранять файл с именем, соответствующим текста скрипта. Но можно одноразово скачать файлы стилей и затем поменять во всех html'ках скриптовую ссылку на жёсткий аналог Можно руками всё проделать - но метод руками, очевидно, не годится для массового скачивания сайтов, так как нужен индивидуальный одход в каждом случае.

Dafi
03-02-2005, 12:59
>>то и не будут отрабатывать
mar
не так просто... допустим некто делает прогу для заказчика (всё далеко , те город, государство и тд)
заказчик платит за это реальными деньгами (исполнитель ну как то о себе должон подумать :) )
как может исполнитель "засекретить" деяния свои? прога-ж-жаваскрипт... + исполнитель имеет возможность показать это всё, и не хотел бы чтоб скачали и смотрели'б скрипты и цсс :)

hasherfrog
03-02-2005, 13:33
Букмарклет:

javascript:s=document.getElementsByTagName('STYLE'); ex=document.getElementsByTagName('LINK'); d=window.open().document; /*set base href*/d.open();d.close(); b=d.body; function trim(s){return s.replace(/^\s*\n/, '').replace(/\s*$/, ''); }; function iff(a,b,c){return b?a+b+c:'';}function add(h){b.appendChild(h);} function makeTag(t){return document.createElement(t);} function makeText(tag,text){t=makeTag(tag);t.appendChild(document.createTextNode(text)); return t;} add(makeText('style', 'iframe{width:100%;height:18em;border:1px solid;')); add(makeText('h3', d.title='Style sheets in ' + location.href)); for(i=0; i<s.length; ++i) { add(makeText('h4','Inline style sheet' + iff(' title=%22',s[i].title,'%22'))); add(makeText('pre', trim(s[i].innerHTML))); } for (i=0; i<ex.length; ++i) { rs=ex[i].rel.split(' '); for(j=0;j<rs.length;++j) if (rs[j].toLowerCase()=='stylesheet') { add(makeText('h4','link rel=%22' + ex[i].rel + '%22 href=%22' + ex[i].href + '%22' + iff(' title=%22',ex[i].title,'%22'))); iframe=makeTag('iframe'); iframe.src=ex[i].href; add(iframe); break; } } void 0
Вот скрипт, который покажет всю инфу про Ваши css. Ну и как Вы сделаете, что бы их не было видно???

Dafi
03-02-2005, 18:22
hasherfrog
ну положил бы этот скрипт нормально (не ложте, ложат... :) )
спасибо, скопирую и проверю (естестно заработает), ток это антисредство, а я про средсва, которые жаваскрипт типа "секретят" :)
и цсс...

hasherfrog
03-02-2005, 20:00
ну положил бы этот скрипт нормально (не ложте, ложат... )
Не понял. Во-первых, это известный и не мной деланный скрипт - он уже есть в сети. Во-вторых, он и так нормально "выложен". Если у Вас опера или мозилла, достатосно выделить текст и бросить его на закладки. Это и называется - буркмарклет, почитайте об этом...
ток это антисредство, а я про средсва, которые жаваскрипт типа "секретят"
Никак Вы не поймёте, что против профессионалов Вам ничего не поможет, всё хотите себе какую-то иллюзию неуязвимости создать...
Ладно, я умываю руки.




© OSzone.net 2001-2012