webForumDet fria alternativet

Rightclick/spärra källkoden - fråga

JavaScript

21 svar · 670 visningar · startad av HittiS

Medlem sedan aug. 200334 inlägg
Frågan#1

Tjo! (igen)

Har följande script på min hemsida:

<script language="JavaScript">

<!--
var rightclk="Copyright © 2003 by Me";
function click(e) {
if (document.all && event.button == 2) {
alert(rightclk);
return false;
}
if (document.layers && e.which == 3) {
alert(rightclk);
return false;
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// -->

</script>

Nu till min fråga: Kan man ändra detta script på något sätt så att även "vänster-höger klicks alternativet" spärras så att inte möjlighet till källkoden/spara ges?

Finns det någon vänlig själ som kan tänkas bygga om detta lilla önskemål till mig =)

Medlem sedan jan. 20016 874 inlägg
#2

Kan man säker, men inte med html/css ;)
Och varför skall du ha scriptet på din sida?

Medlem sedan feb. 2003774 inlägg
#3

Det är helt omöjligt att skyddan sin kod. Vill du inte att andra ska se den så är enda lösningen att inte ha sidan på internet...

Din kod tex, fungerar bara i IE och Netscape 4. Sen kan man ju stänga av Javascript och vips så fungerar inte din kod.

Medlem sedan maj 200010 687 inlägg
#4

Tråden flyttas från HTML, XHTML & CSS till JavaScript, DHTML.

Medlem sedan nov. 200013 890 inlägg
#5

Hur hade du tänkt stoppa användaren från att välja "Visa" » "Källa" i menyn?

Medlem sedan dec. 20003 563 inlägg
#6

Mitt råd är att glömma hela konceptet med att försöka gömma koden.

Medlem sedan aug. 20039 340 inlägg
#7

Det är den här du letar efter...

<body oncontextmenu="return false;">

alternativt i javascript (Om du vill lägga den i en .js-fil och använda på flera sidor)

document.oncontextmenu=function(){return false;};

Den fungerar på Explorer 5.0 och framåt samt Netscape 6.0 och framåt.
Strunta helt i den andra, den har bara stöd för IE4 och Netscape 4, och väldigt få använder dessa webbläsare nu för tiden.

Medlem sedan aug. 200334 inlägg
#8

nitro, tack så mycket ;)

Medlem sedan jan. 20016 874 inlägg
#9

HittiS skrev:

nitro, tack så mycket ;)

Det sättet fungerar heller inte så bra ;)

Medlem sedan aug. 200334 inlägg
#10

frankof skrev:

HittiS skrev:

nitro, tack så mycket ;)

Det sättet fungerar heller inte så bra ;)

Möjligt att det inte funkar till 100% men det håller iaf de värsta noobsen borta!

Medlem sedan nov. 20035 inlägg
#11

nitro2k01 skrev:
Det är den här du letar efter...
body oncontextmenu="return false;" (med vinklar runt om)

Mina två frågor:

  1. Varför semikolon ; Vad händer om man inte skriver dit det? Jag har sett att det kan fungera utan ; Blir säkerheten mindre då?

  2. Och fungerar det här exemplet på ALLA webbläsare och versioner, eller bara vissa (om möjligt: vilka?)

frankof skrev:
Det sättet fungerar heller inte så bra

Min fråga:
Vad åsyftas?

Mvh
P.E.

Medlem sedan jan. 20016 874 inlägg
#12

P.E. skrev:

frankof skrev:
Det sättet fungerar heller inte så bra

Min fråga:
Vad åsyftas?

Mvh
P.E.

Spärren, det går inte att hålla en kälkod "hemlig" och varför skall man det? Det är ju "bara" html eller script hämtade frå andra sidor (dynamicdrive o.l. )
Det är ju bara designen som är intersant att skydda(och vissa foton o.l.), och så länge sidan ligger på nätet är den ju tilgänglig för alla, med design och bilder.

Medlem sedan nov. 200013 890 inlägg
#13

Den här diskussionen är upp ganska ofta men svaret är alltid detsamma:

Det är omöjligt att dölja sin HTML-kod!

  1. Och fungerar det här exemplet på ALLA webbläsare och versioner, eller bara vissa (om möjligt: vilka?)

Det skyddar inte din kod på NÅGON webbläsare. ;)

Medlem sedan nov. 20035 inlägg
#14

frankof skrev:
Spärren, det går inte att hålla en kälkod "hemlig" och varför skall man det?

OK. tack för det svaret:

Då återstår bara följande undringar, som mest beror på att jag är tekniskt intresserad av svaren:

  1. Varför skriva semikolon i: body oncontextmenu="return false;" (med vinklar runt om). Vad händer om man inte skriver dit det? Jag har sett att det kan fungera utan ; Blir säkerheten mindre då?

Web-Tor skrev: Det skyddar inte din kod på NÅGON webbläsare

Nej, jag är medveten om att det inte skyddar koden. Frågan var om det här exemplet FUNGERAR på alla webbläsare och versioner, eller bara vissa (om möjligt: vilka?)

Ursäkta om jag uttrycke mig otydligt.

Mvh

P.E.

Medlem sedan nov. 200013 890 inlägg
#15

1. Det spelar troligtvis inte någon roll så länge du inte ska köra fler funktioner kopplat till oncontextmenu. Semikolon används som en avgränsare mellan olika funktioner.

Frågan var om det här exemplet FUNGERAR på ALLA webbläsare och versioner

Det beror på vad du menar med "fungerar". Om poängen är att den ska skydda HTML-koden så fungerar det inte i någon webbläsare.

Medlem sedan nov. 20035 inlägg
#16

Nej, poängen är inte att den ska skydda koden. Poängen från min sida är att fråga om contextmenu (och funktionen return false) fungerar i alla webbläsare.

Mvh

P.E.

Medlem sedan nov. 200013 890 inlägg
#17

Står inte det ganska tydligt här:
http://www.webforum.nu/showthread.php?s=&postid=745932#post745932

Medlem sedan nov. 20035 inlägg
#18

Tack!
Jag trodde att det var javascriptet som bara fungerade i de webbläsarna, eftersom det stod under javascriptexemplet. Det här är första gången jag skriver i webforum.nu, och jag har inte riktigt lärt mig hur saker och ting ska tolkas. Missförstånd från min sida. Tack för alla svar :-) Jag ska inte skriva mer om detta nu. Jag har lärt mig lite mer. Kanske jag återkommer med en annan fråga en annan gång.

Med vänliga hälsningar

P.E.

Medlem sedan jan. 20016 874 inlägg
#19

Återkom när du vill, och med vad du vill, det är inte så alvarligt att få en "avhyvling" här inne ;)

BTW: välkommen till wF :birp

Medlem sedan aug. 20039 340 inlägg
#20

Tillägg. Den metoden jag beskrev ovan hjälper inte på Opera, som anstränger sig hårt för att alltid visa högermenyn oavsett vad som händer.

Men även i Internet Explorer eller Netscape/Mozilla är det svårt att skydda sig. Man kan ju alltid söka igenom cache-biblioteket...

Namn: *.htm*
Innehåller texten: (Här skriver du till exempel ett ord ur titeln på sidan)
Sök i: c:\windows\temporary internet files (Kan variera mellan 
operativsystem och om du inte använder IE)

Men detta är kanske lite överkurs...

Edit:
Tecknet ; måste egentligen alltid avsluta alla javascriptkommandon (Precis som i andra språk med C-syntax), men dessa regler har lättats upp och man kan hoppa över det. Jag avslutar alltod mina kommandon med med detta tecken av ren vana, men i de allra flesta fall påverkas inte koden av detta.

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)