Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   запретить сохранение страницы. ?? (http://forum.oszone.net/showthread.php?t=44377)

Dafi 24-01-2005 23:09 291780

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

hasherfrog 24-01-2005 23:22 291784

Если придумаете как блокировать, проверьте, не снимается ли Ваша блокировка вот таким образом:
HTML код:

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 291807

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

vadimiron 25-01-2005 01:13 291813

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

Dafi 25-01-2005 02:00 291819

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

archy 25-01-2005 08:37 291858

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

hasherfrog 25-01-2005 09:00 291863

>>типа как блокируется правая кнопка мышки на жскрипт.
Приведённый выше кусок кода как раз отменяет эту блокировку. Т.е. она бесполезна против продвинутого пользователя.

vadimiron 25-01-2005 13:07 291923

Цитата:

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

Dafi 25-01-2005 15:04 291957

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

archy 29-01-2005 20:45 293487

нет!

Dafi 02-02-2005 01:53 294526

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

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

archy 02-02-2005 12:26 294656

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

elfoflorien 02-02-2005 16:25 294718

можно в конфигурации 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 294740

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




mar 03-02-2005 00:51 294815

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

hasherfrog 03-02-2005 01:10 294817

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

Dafi 03-02-2005 12:59 294937

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




hasherfrog 03-02-2005 13:33 294944

Букмарклет:

HTML код:

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 294991

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

hasherfrog 03-02-2005 20:00 295019

Цитата:

ну положил бы этот скрипт нормально (не ложте, ложат... )
Не понял. Во-первых, это известный и не мной деланный скрипт - он уже есть в сети. Во-вторых, он и так нормально "выложен". Если у Вас опера или мозилла, достатосно выделить текст и бросить его на закладки. Это и называется - буркмарклет, почитайте об этом...
Цитата:

ток это антисредство, а я про средсва, которые жаваскрипт типа "секретят"
Никак Вы не поймёте, что против профессионалов Вам ничего не поможет, всё хотите себе какую-то иллюзию неуязвимости создать...
Ладно, я умываю руки.

Dafi 04-02-2005 00:52 295102

hasherfrog
ну извините, шутка же... :) просто он виден (ие6.2) в одной строке с горизонтальной прокруткой, а юмор как бы полезен :)
против профи естестно нет средств, но кто платит, они типа полу-профи, и вопрос (мой) не без смысла :)

Prisoner 04-02-2005 07:38 295155

А я знаю кто на самом деле "тот кто платит" ;).
Однако это, имхо, именно тот случай когда заказчику говорят о принципиальной невозможности воплощения его голубых мечтаний в жизнь. Хотя бы потому, что он узнав о хищении с сайта занюханного однопиксельного гифа, тут же повесит на разработчика измену родине. Оно, Dafi, надо тебе? Ну стольник баксов заработаешь... и? Халява? :)

archy 04-02-2005 10:07 295192

Dafi
Тебе же сказали, много раз, нельзя такое сотворить с html.
Можно только усложнить жизнь смотрящим в html, убрать лишние пробелы и символы новой строки, можно еще использовать криптование через javascript какой-нибудь важной части, но это будет тормозить и тоже легко лечится...

mar 04-02-2005 10:33 295208

Dafi
и еще, если Вы делаете что-то "за реальные деньги", а не для себя, то дурить заказчика, надеясь на то, что он не профи (и что профи нигде поблизости не найдется (!)) - дурной тон. Причем даже, если думать не о морали, а о выгоде, то честное обращение с заказчиком выгодней - в следующий раз заказ больше шансов получить.

Dafi 04-02-2005 15:48 295281

>>дурить заказчика
боже упаси... :) речь о том, чтобы показать работоспособную страницу так, чтобы заказчик не смог сохранить скрипты (мера предосторожности :) ), а затем (после оплаты например) честно здать исходники с подробными коментариями :) да и принципиальная сторона тоже интересна (те как это можно зделать)

archy
>>криптование через javascript
возможно такое? буду благодарен за инфу об этом...


elfoflorien 04-02-2005 19:34 295326

mar
Цитата:

есои js/css-файлы не будут скачаны, то и не будут отрабатывать, т.к. отрабатывают они на стороне клиента (браузера). Или я чего-то не понимаю?
У меня лично все работает, просто файл не закачивается на компьютер клиента

mar 04-02-2005 20:55 295352

Цитата:

файл не закачивается на компьютер клиента
да? и в кэш не закачивается? :) пример в студию, please :)

Dafi 04-02-2005 23:45 295390

кэширование отменяется насколько я знаю этим заголовком на пхп:
header("Cache-Control: no-cache, must-revalidate"); для верности можно добавить еще типа
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
и не закачивается (пробовал) :)
а если "фаил-сохранить (полностью)", то жс-цсс фаилы и картинки сохраняются в отдельной папке, что и требуется как то отменить :)
как это зделано например на тои странице которая не сохраняется (ссылка на первой странице темы)

ALLY 05-02-2005 12:41 295506

Dafi
Я конечно дико извиняюсь, может сменить атрибуты файлов на hide ? Сделать их скрытыми ?

Dafi 05-02-2005 13:49 295519

ALLY
а как это зделать? имеется в виду скрипт на стороне клиента, который изменит атрибут на "скрытый" ?

ALLY 05-02-2005 14:17 295529

Dafi
Сделать это можно прямо у себя. Но это сработает, если у клиента Не включена опция " Показывать скрытые файлы папки".
В умной книжке говорится, чтобы показать что-то клиенту, надо сделать серию снимков с экрана. Снабдить снимки пояснительными текстами: типа " А на этом изображении показан результат нажатия на кнопку "Наши товары" .

Dafi 05-02-2005 15:33 295539

>>Но это сработает, если у клиента Не включена опция " Показывать скрытые файлы папки".
а если включена? суть вопроса-показать клиенту работоспособную страницу (те скрипты должны работать, показать картинку недостаточно), но так, чтобы у клиента не было доступа к исходнику скриптов. в этом смысле спасибо авторам за советы о том что браузер не отрабатывает ссылки на ссылки и о настройках сервера (см. пример страницы в теме)
Да и Билл с ними, с деньгами, спортивный интерес и всё такое... :)

elfoflorien 05-02-2005 20:34 295582

mar
зайдите на сайт miniclip.com, и попоробуйте скачать там любой java аплет - ничего не получится, я уже неоднократно пробовал
прошу прощения за подобный пример, но другого не помню :)
Цитата:

да? и в кэш не закачивается?
лично проверял весь биллин кеш, аплетов там не ма :weep:

elfoflorien 05-02-2005 20:45 295585

ALLY, Dafi
все-таки мне кажется, что скрытые файлы и папки в Windows - задача Проводника &reg;, сколько раз пробовал обращаться к скрытой биллом папке (и файлу) по известному ее имени, все получается, то есть билл не ограничивает доступ к файлу или папке, а всего лишь не отображаетобъект.
а здесь встал вопрос о запрещении скачивания файла (предполагаю, по протоколу HTTP). скажу даже больше - если не разрешать доступ к содержимому директория в Apache, то клиент никогда и не увидит содержимого (хацкеры - исключение :))

hasherfrog 06-02-2005 00:11 295629

elfoflorien
Цитата:

попоробуйте скачать там любой java аплет - ничего не получится
А так?

Буркмарклет.

HTML код:

javascript:s=document.getElementsByTagName('SCRIPT'); d=window.open().document; /*140681*/d.open();d.close(); b=d.body; function trim(s){return s.replace(/^\s*\n/, '').replace(/\s*$/, ''); }; 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='Scripts in ' + location.href)); for(i=0; i<s.length; ++i) { if (s[i].src) { add(makeText('h4','script src=%22' + s[i].src + '%22')); iframe=makeTag('iframe'); iframe.src=s[i].src; add(iframe); } else { add(makeText('h4','Inline script')); add(makeText('pre', trim(s[i].innerHTML))); } } void 0

archy 06-02-2005 12:44 295719

elfoflorien
А при чем тут java applet?
В кеше все сохраняется, по крайней мере во время просмотра страницы.
Dafi
Найди реализацию любго шифра на javascript и вперед, используй... если речь идет о ламерах, то достаточно использовать base64.
По поводу страницы с mysql.com, есть отличный екстеншин для мурзилки scrapbook называется, все сохраняет!

elfoflorien 06-02-2005 13:17 295726

archy
при том, что файлы с расширением .class не кешируются, благодаря невозможности закачать их на компьютер клмиета, а пример я привел такой, потому что другого, как я уже говорил, не помню

Dafi 06-02-2005 13:21 295727

>>есть отличный екстеншин для мурзилки scrapbook называется, все сохраняет! :)
отчасти потерял интерес к теме, потому что посмотрев хтмл-код, скачал все их цсс-ы и ж-скрипты правым кликом :gigi: (как я раньше об этом не подумал :) ) позже постараюсь разобраться почему эта страница не сохраняется полностью (спортивного интереса ради таксаать :) )

>>Найди реализацию любго шифра на javascript
те он будет рабочий но нечитабельный ? если да-буду всем благодарен за линки :)

elfoflorien 06-02-2005 13:28 295728

hasherfrog
вопрос: куда он скачается и откуда?

mar 06-02-2005 22:23 295818

elfoflorien
пардон - давно не была. Давайте не путать Java-фпплет и JavaScript и страницу .jsp с апплетом ;] ?
А что касается JavaScript с этого сайта, то ловите, первую ссылку на странице по Вашей ссылке http://www.miniclip.com/javascript/oas_home.js
Код:

//configuration
OAS_url ='http://ads.miniclip.com/RealMedia/ads/';
OAS_listpos = 'Bottom,Position1,Position2,Top';
OAS_query = '?';
OAS_sitepage = 'miniclip.com/home';
//end of configuration
OAS_version = 10;
OAS_rn = '001234567890'; OAS_rns = '1234567890';
OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
function OAS_NORMAL(pos) {
document.write('<A HREF="' + OAS_url + 'click_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" TARGET=_top>');
document.write('<IMG SRC="' + OAS_url + 'adstream_nx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + '!' + pos + OAS_query + '" BORDER=0 ALT="Click!"></A>');
}

OAS_version = 11;
if (navigator.userAgent.indexOf('Mozilla/3') != -1)
OAS_version = 10;
if (OAS_version >= 11)
document.write('<SC'+'RIPT LANGUAGE=JavaScript1.1 SRC="' + OAS_url + 'adstream_mjx.ads/' + OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos + OAS_query + '"><\/SCRIPT>');

 document.write('');
function OAS_AD(pos) {
if (OAS_version >= 11 && typeof(OAS_RICH) !='undefined')
  OAS_RICH(pos);
else
  OAS_NORMAL(pos);
}

Получено не выходя из Firefox просто просмотр кода - запрос url

Dafi
Извини, не поняла :) Лучший выход предложил ALLY - скриншоты

elfoflorien 07-02-2005 17:24 296141

mar
прошу извинения, я неправильно объяснил: я имею в виду не .jsp и не определенный тип файлов, а способность сервера apache отклонять любую попытку обращения к файлу с любым расширением (в данном примере - .js и .css), указанным в конфигурации вот таким вот кодом:
Код:

<Files ~ ".*\.css">
Order allow,deny
Deny from all
</Files>
 
<Files ~ ".*\.js">
Order allow,deny
Deny from all
</Files>


archy 07-02-2005 19:09 296161

Сие значит, что браузер не получит эти файлы = стили и скрипты иcполняться не будут, в таком случае можно их снести к черту и не напрягать апач всякими .htaccess.
Ответ был дан на этот вопрос, сие не ВОЗМОЖНО!

mar 08-02-2005 00:22 296237

elfoflorien
к тому, что выше говорила я и более доходчиво - только что archy, добавлю: по указанной ссылке я привела именно .js, работающий на страничке.
Еще раз: js и css работают только на стороне клиента, то есть для работы их необходимо подгрузить на машину клиента. Если их не подгрузить - работать не будут, если подгрузить - значит они уже "скачены". Все собственно.

Dafi 09-02-2005 12:53 296702

а почему она ( http://www.mysql.com ) не сохраняется полностью ? и кстати в кеше она не видна (даже досовским командиром смотрел ), сидит она в кеше, и выводится при запросе (от браузера), где,ж она треклятая ? :)


hasherfrog 09-02-2005 14:48 296741

Dafi
Я же объяснил. Что не так?

elfoflorien 10-02-2005 22:08 297187

ну тогда остается один способ - HTTP заголовок No-Cache, или что-то в этом роде (где здесь видел, не могу найти :))
archy,mar
странно, как же у меня это получилость ?..

ALLY 11-02-2005 11:44 297328

Dafi
У тебя оська то, какая? В ХР видны 27 файлов.


archy 11-02-2005 17:25 297441

Dafi
Кривой браузер используешь, повторяю, в firefox+scrapbook все отлично сохраняется!

elfoflorien
Ты колдун какойто, Пендальф или как там его :)

Dafi 12-02-2005 23:47 297749

archy
Цитата:

повторяю, в firefox+scrapbook все отлично сохраняется!
повторяю: эти жс-цсс-файлы элементарно сохраняются правым кликом по линку, который можно составить, посмотрев исходник хтмл (те вопрос о "секретности" больше не стоит) :)
страница не сохраняется "полностью", (файл-сохранить полностью), это меня заинтересовало...
наверное причина типа браузер не обрабатывает ссылки на ссылки...
оска вин98се2+ие6.2
а разве в хп (вин2000) сохраняет? (именно "файл-сохранить полностью", а так и без лишних примочек эти фаилы можно при желании скачать :) )



Время: 00:51.

Время: 00:51.
© OSzone.net 2001-