Ik heb een leuk java scriptje gemaakt, maar nou wil ik natuurlijk liever niet dat iedereen dat maar zo leeched. Is er een mogelijkheid dat ik het script kan verbergen, cq op de server laten uitvoeren door middel van PHP ofzo?
nee, er is altijd wel een manier om achter de broncode te komen (hoe goed je ook je best doet).
En uit laten voeren door php kan al helemaal niet. Het is en blijft client-side scripting.(ja, ik weet dat er ook server-side js bestaat, maar daar gaat het nu niet over
)
En uit laten voeren door php kan al helemaal niet. Het is en blijft client-side scripting.(ja, ik weet dat er ook server-side js bestaat, maar daar gaat het nu niet over
Today's subliminal thought is:
Server Side JavaScripting? OK, anybody, vertel verder plz...
Ik heb er ook wel van gehoord, maar, hoe doe ik dat? Moet ik dan een Javascript parsertje installeren
?
Verwijderd
nou eh, ik ga niet scrippie zelf schrijven als ik het ergens vandaan kan kopieren en aanpassen. scheeld hoop tijd.
Even over Server-Side Javascript... Dat werkt met de <server> </server> tag dacht ik... En dan verder hetzelfde idee als PHP/ASP. Maar lang niet elke server ondersteunt dat. Check hier es: http://developer.netscape.com/docs/manuals/communicator/jsref/intro.htm#1010790
Verwijderd
Een reden om dat niet te willen is remote toetsen afnemen.Dan heb ik het over situaties waar alleen javascript een oplossing is....en dan nog iets, waarom wil je niet dat mensen het leechen?
Vink aso.
<script src=/dir/die/niet/buitenaf/te/zien/is.js language=JavaScript1.2></script>
Ik weet niet zeker of dat werkt.. maar je zou dus een javascriptje kunnen maken die nergens onder de webroot staat (en dus niet met een browser te bekijken is) en die proberen te includen op deze manier..
Ik weet niet zeker of dat werkt.. maar je zou dus een javascriptje kunnen maken die nergens onder de webroot staat (en dus niet met een browser te bekijken is) en die proberen te includen op deze manier..
Volgens mij kan dat niet. De javascript file wordt nu toch gewoon aangeroepen door de browser, dus moet hij van buitenaf bereikbaar zijn?
Als dat niet zo is, dan is het toch altijd nog onmogelijk client-side javascript volledig te beschermen tegen jatten, aangezien client-side ook client-side uitgevoerd moet worden (duh) en dus client-side beschikbaar moet zijn. Nu kan het wel zo zijn dat je het in Netscape niet direct ziet, maar je zou altijd je eigen browser kunnen maken die het javascript niet uitvoert, maar gewoon laat zien ofzo. En dat is dan wel een heel ingewikkelde manier, waarschijnlijk kan het nog makkelijker (opslaan als in ie5+ ?).
Als dat niet zo is, dan is het toch altijd nog onmogelijk client-side javascript volledig te beschermen tegen jatten, aangezien client-side ook client-side uitgevoerd moet worden (duh) en dus client-side beschikbaar moet zijn. Nu kan het wel zo zijn dat je het in Netscape niet direct ziet, maar je zou altijd je eigen browser kunnen maken die het javascript niet uitvoert, maar gewoon laat zien ofzo. En dat is dan wel een heel ingewikkelde manier, waarschijnlijk kan het nog makkelijker (opslaan als in ie5+ ?).
Hou maar op met proberen. Neem maar van mij aan dat het niet gaat.
Today's subliminal thought is:
Annie je hebt gelijk, maar het is wel mogelijk om die mensen het bijna onmogelijk te maken
Programmer - an organism that turns coffee into software.
Hm 'k had nog een ander ideetje..
PHP files kan je wel includen als ze niet in de webroot staan... als je nou eens een javascriptje in een .php bestand zet, dmv print(); of echo, en die buiten de webroot zet... zou dat dan werken?
PHP files kan je wel includen als ze niet in de webroot staan... als je nou eens een javascriptje in een .php bestand zet, dmv print(); of echo, en die buiten de webroot zet... zou dat dan werken?
nee, het is en blijft client-side. Om het op de client (in de browser) uit te laten voeren moet het wel meegestuurd worden.
En als het meegestuurd wordt in de source dan kan het uitgelezen worden.
*zucht*
En als het meegestuurd wordt in de source dan kan het uitgelezen worden.
*zucht*
Today's subliminal thought is:
Dit lijkt een beetje een verhaal te worden als de eeuwige zoektocht naar een perpetuum mobile...
Maar ga door, ik ben benieuwd
Maar ga door, ik ben benieuwd
Verwijderd
hmm...
je kan ook zon hopelose beveiliging erop zetten dat als je op je rechtermuisdrukt dat je een melding krijgt, en dan pagina met frames, maar dat zuigt, en je hebt de code dan nog in 1 min gejat...
als je het in php met print () doet, komt t gewoon als html in de pagina te staan, dus schiet je er weer helemaal nix mee op..
annie heeft gelijk.. t zal je niet lukken..
wat voor scriptje is t eigenlijK???
je kan ook zon hopelose beveiliging erop zetten dat als je op je rechtermuisdrukt dat je een melding krijgt, en dan pagina met frames, maar dat zuigt, en je hebt de code dan nog in 1 min gejat...
als je het in php met print () doet, komt t gewoon als html in de pagina te staan, dus schiet je er weer helemaal nix mee op..
annie heeft gelijk.. t zal je niet lukken..
wat voor scriptje is t eigenlijK???
Maar alleen met include(); wordt het in de source gezet, met require(); toch niet... dacht ik.. maar dan zal het ook wel niet uitgevoerd worden.
Oh well, boeie.. lang leve OpenSource
Oh well, boeie.. lang leve OpenSource
Verwijderd
Het enige verschil tussen include() en require() is dat als de file bij require() niet gevonden kan worden, dat het script er dan mee kapt en hij een error teruggeeft, bij include() wandelt ie dan gewoon verder het script af...
Verwijderd
CyberJunk, misschien moet je hier eens ff kijken:
http://www.allaire.com/Products/JRun /
Volgens mij zit daar ook iets bij van javascripts die op de server draaien ofzo.
Mzzls
The Dude
http://www.allaire.com/Products/JRun /
Volgens mij zit daar ook iets bij van javascripts die op de server draaien ofzo.
Mzzls
The Dude
The_Dude, wat jij nu aandraagt is JRun, da's een server-addon als PHP. Je kunt dan Java scripts (dus niet JavaScript scripts
) in een pagina verwerken net zoals het bij PHP gaat.
Verder kun je met JRun Java servlets draaien, maar da's weer een andere verhaal.
Just for the record... ik raad Jakarta tomcat aan ipv JRun, omdat je bij Jakarta je niet hoeft te reggen bij de download site.
http://jakarta.apache.org
Verder kun je met JRun Java servlets draaien, maar da's weer een andere verhaal.
Just for the record... ik raad Jakarta tomcat aan ipv JRun, omdat je bij Jakarta je niet hoeft te reggen bij de download site.
http://www.samspade.org/w/wget153.zip
de ultime leech tool en mirror tool
/me heeft er nooit last van aangezien mijn meuk toch altijd server side is dat is de truuk...
PS als een van jullie er problemen mee heeft dat ik dit linkje post... dan haal ik het wel weer weg hoor
roep maar maar ik wou het jullie toch niet onthouden.. en oja ik heb vroeger veel geleerd van script bekijken..
En als iemand zijn best doed om het afteschermen word bij mij juist intresse gewekt om er juist naar te gaan kijken..
Waarom dat is weet ik niet maar ik ben nu eenmaal een niewaagje
de ultime leech tool en mirror tool
/me heeft er nooit last van aangezien mijn meuk toch altijd server side is dat is de truuk...
PS als een van jullie er problemen mee heeft dat ik dit linkje post... dan haal ik het wel weer weg hoor
roep maar maar ik wou het jullie toch niet onthouden.. en oja ik heb vroeger veel geleerd van script bekijken..
En als iemand zijn best doed om het afteschermen word bij mij juist intresse gewekt om er juist naar te gaan kijken..
Waarom dat is weet ik niet maar ik ben nu eenmaal een niewaagje
Would you like to know more?!! [StarShip Troopers] - Void Station
Verwijderd
Inderdaad, de kracht en principe achter JS is dat het client side uitgevoerd wordt, en dus per definitie beschikbaar moet zijn voor de browser en dus de user. Je kan het mensen moeilijk maken om de source te achterhalen maar daar blijft het dan ook bij.Dit lijkt een beetje een verhaal te worden als de eeuwige zoektocht naar een perpetuum mobile...
Echt waar...
Het is inderdaad altijd mogelijk om de
source te achterhalen. Maar je kan het
natuurlijk ook zo moeilijk mogelijk maken om
de source te bekijken, bijv. door encryptie
toe te passen. Het probleem hiermee is dat
ook de de-encryptie code zichtbaar is, dus
dat een beetje hacker er wel achter kan
komen, maar jan modaal met een beetje html
achtergrond hou je in ieder geval in het
ongewis.
Hieronder staat de code hiervoor, plus een
uitleg. Maak van deze code een html pagina
en bekijk deze.
ps. sorry voor de layout troubles hier op het forum, maar anders kon ik dit niet sharen met jullie.
[code]
###### REMOVE THIS LINE AFTER YOU GRAB THE SCRIPT ######
<html><title>Encoded JavaScript</title>
<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<body bgcolor=white>
<script language="JavaScript">
<!--
CR = "";
function encrypt() {
// a="@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!#$%^&*():;/.";
// a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 |@";
a="hRuWL2VAT9Ofdz04c7MqbkBjviYCaSD e8ZprJlGHo@PtQI|sFEmKg16y5NwUX3nx";
key=document.output.key.value;
key_code=document.output.key_code.value;
stri = document.output.area.value;
if (document.output.newline[0].checked)
CR = "\r"; // Mac newline
else if (document.output.newline[2].checked)
CR = "\n"; // Unix
else
CR = "\r\n"; // Windows
if (!(key && key.length>0
&& key_code && key_code.length>0
&& stri && stri.length>0)) {
alert("You must fill in all blanks first.");
return false;
}
code = "if (key) {"+CR+" fin = \"\";"+CR+" pos = 0;"+CR
+" for (i=0;i<b.length;i++) {"+CR
+" first = b.charAt(i);"+CR
+" second = key.charAt(pos);"+CR
+" fin+=a.charAt((a.indexOf(first)"
+"-a.indexOf(second)+a.length)%a.length);"+CR
+" pos = (pos+1)%key.length;"+CR
+" }"+CR+" eval(fin);"+CR+" fin=a=b=key=\"\";"+CR
+"}"+CR;
for(i=0;i<key.length;i++) {
first = key.charAt(i);
if (a.indexOf(first) == -1) {
a+=key.charAt(i);
}
}
for(i=0;i<stri.length;i++) {
first = stri.charAt(i);
if (a.indexOf(first) == -1) {
a+=stri.charAt(i);
}
}
fin = "";
pos = 0;
for (i=0;i<stri.length;i++) {
first = stri.charAt(i);
second = key.charAt(pos);
fin+=a.charAt((a.indexOf(first)+a.indexOf(second))%a.length);
pos = (pos+1)%key.length;
}
if ((pos = a.indexOf('\\')) != -1) {
a = a.substring(0,pos) + '\\\\' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('"')) != -1) {
a = a.substring(0,pos) + '\\"' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\n')) != -1) {
a = a.substring(0,pos) + '\\n' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\r')) != -1) {
a = a.substring(0,pos) + '\\r' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\t')) != -1) {
a = a.substring(0,pos) + '\\t' + a.substring(pos+1,a.length);
}
fin += " "; // add buffer so no errors occur if last character is replaced
pos=-2;
while ((pos = fin.indexOf('\\',pos+2)) > -1) {
fin = fin.substring(0,pos) + '\\\\' + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\n",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\n" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\r",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\r" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\t",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\t" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf('"',pos+2)) != -1) {
fin = fin.substring(0,pos) + '\\"' + fin.substring(pos+1,fin.length);
}
fin = fin.substring(0,fin.length-1); // remove buffer
for (i=fin.length-80;i>0;i-=80) { // wrap it
while (fin.charAt(i-1) == "\\")
i++; // prevents \n from being separated
fin = fin.substring(0,i)+'"'+CR+'+"'+fin.substring(i,fin.length);
}
document.output.area.value = '<script'
+' language="JavaScript">'+CR+"<"+"!--"+CR
+'b="'+fin+'";'+CR+'a="'+a+'";'
+CR+'key = '+key_code+';'+CR+code + "// --"+">"+CR+"<"
+"/script>"+CR;
return true;
}
function allowErrors() { return false; }
function evalKey() {
window.onerror = allowErrors;
alert(eval(document.output.key_code.value));
window.onerror = reportError; // this line should ONLY be used on our site! ****
}
function copyValues(literal,key_creator) {
document.output.key.value = literal;
document.output.key_code.value = key_creator;
if (literal == "yourpassword") {
document.output.area.value = '/* #%@ type some random characters here #%@ */'
+"\r\n"+'eval("loca"+"tion."'+'+"hre"+"f=\'yourhiddenpage.htm\'");';
}
}
// -->
</script>
<form name='output'>
<table width=486 cellpadding=0 cellspacing=0 border=0>
<tr><td>
Be warned that this script can be easily broken by someone with a cryptography background. See our encryption security discussion for more on that subject. If you are trying to protect anything valuable, invest in some more secure encryption. But if it is not going to end the world if someone cracks your code, go ahead and use our script.<br><br>
script obtained from Cut and Paste JavaScript.<br>
<hr noshade size=6><br>
What more could it be used for? Tired of your competitors stealing your JavaScripts off your web site? This script which will actually encode your script into an encrypted format that can be decoded in anyone's browser if they have the right keyword. But the catch is that for the novice looking at the encrypted script (and let's face it, most of your competitors are not intelligent enough to create the JavaScripts themselves so they just steal them from you!), it will be very confusing.<br><br>
The only truly safe script is one that is encrypted by a password. But if you do not want to bother with giving out passwords to your users, there is another, somewhat less secure, but functional way to help prevent your scripts from being stolen. You can configure the key value so that it only works when used on your web site. That way, they can't just copy the encrypted script from your source code and put it in theirs. It won't work after the transfer unless they are smart enough to make some modifications.<br><br>
With all that said, just follow the directions to encrypt your JavaScripts:
</td></tr>
<tr><td>
<hr noshade size=6><br>
<b>First</b>, you need to figure out a key value for the encoding that is going to take place. It has to be a value that <i>will not change</i> no matter how a page is accessed. Your JavaScript code will be encrypted using that key, and then when someone visits your page with the encrypted JavaScript code, that key will be reproduced using the JavaScript statement you input below. Here are some pairs:<br><br>
</td></tr></table>
<table width=486 cellpadding=0 cellspacing=0 border=0>
<t
source te achterhalen. Maar je kan het
natuurlijk ook zo moeilijk mogelijk maken om
de source te bekijken, bijv. door encryptie
toe te passen. Het probleem hiermee is dat
ook de de-encryptie code zichtbaar is, dus
dat een beetje hacker er wel achter kan
komen, maar jan modaal met een beetje html
achtergrond hou je in ieder geval in het
ongewis.
Hieronder staat de code hiervoor, plus een
uitleg. Maak van deze code een html pagina
en bekijk deze.
ps. sorry voor de layout troubles hier op het forum, maar anders kon ik dit niet sharen met jullie.
[code]
###### REMOVE THIS LINE AFTER YOU GRAB THE SCRIPT ######
<html><title>Encoded JavaScript</title>
<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<body bgcolor=white>
<script language="JavaScript">
<!--
CR = "";
function encrypt() {
// a="@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!#$%^&*():;/.";
// a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 |@";
a="hRuWL2VAT9Ofdz04c7MqbkBjviYCaSD e8ZprJlGHo@PtQI|sFEmKg16y5NwUX3nx";
key=document.output.key.value;
key_code=document.output.key_code.value;
stri = document.output.area.value;
if (document.output.newline[0].checked)
CR = "\r"; // Mac newline
else if (document.output.newline[2].checked)
CR = "\n"; // Unix
else
CR = "\r\n"; // Windows
if (!(key && key.length>0
&& key_code && key_code.length>0
&& stri && stri.length>0)) {
alert("You must fill in all blanks first.");
return false;
}
code = "if (key) {"+CR+" fin = \"\";"+CR+" pos = 0;"+CR
+" for (i=0;i<b.length;i++) {"+CR
+" first = b.charAt(i);"+CR
+" second = key.charAt(pos);"+CR
+" fin+=a.charAt((a.indexOf(first)"
+"-a.indexOf(second)+a.length)%a.length);"+CR
+" pos = (pos+1)%key.length;"+CR
+" }"+CR+" eval(fin);"+CR+" fin=a=b=key=\"\";"+CR
+"}"+CR;
for(i=0;i<key.length;i++) {
first = key.charAt(i);
if (a.indexOf(first) == -1) {
a+=key.charAt(i);
}
}
for(i=0;i<stri.length;i++) {
first = stri.charAt(i);
if (a.indexOf(first) == -1) {
a+=stri.charAt(i);
}
}
fin = "";
pos = 0;
for (i=0;i<stri.length;i++) {
first = stri.charAt(i);
second = key.charAt(pos);
fin+=a.charAt((a.indexOf(first)+a.indexOf(second))%a.length);
pos = (pos+1)%key.length;
}
if ((pos = a.indexOf('\\')) != -1) {
a = a.substring(0,pos) + '\\\\' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('"')) != -1) {
a = a.substring(0,pos) + '\\"' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\n')) != -1) {
a = a.substring(0,pos) + '\\n' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\r')) != -1) {
a = a.substring(0,pos) + '\\r' + a.substring(pos+1,a.length);
}
if ((pos = a.indexOf('\t')) != -1) {
a = a.substring(0,pos) + '\\t' + a.substring(pos+1,a.length);
}
fin += " "; // add buffer so no errors occur if last character is replaced
pos=-2;
while ((pos = fin.indexOf('\\',pos+2)) > -1) {
fin = fin.substring(0,pos) + '\\\\' + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\n",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\n" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\r",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\r" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf("\t",pos+2)) > -1) {
fin = fin.substring(0,pos) + "\\t" + fin.substring(pos+1,fin.length);
}
pos=-2;
while ((pos = fin.indexOf('"',pos+2)) != -1) {
fin = fin.substring(0,pos) + '\\"' + fin.substring(pos+1,fin.length);
}
fin = fin.substring(0,fin.length-1); // remove buffer
for (i=fin.length-80;i>0;i-=80) { // wrap it
while (fin.charAt(i-1) == "\\")
i++; // prevents \n from being separated
fin = fin.substring(0,i)+'"'+CR+'+"'+fin.substring(i,fin.length);
}
document.output.area.value = '<script'
+' language="JavaScript">'+CR+"<"+"!--"+CR
+'b="'+fin+'";'+CR+'a="'+a+'";'
+CR+'key = '+key_code+';'+CR+code + "// --"+">"+CR+"<"
+"/script>"+CR;
return true;
}
function allowErrors() { return false; }
function evalKey() {
window.onerror = allowErrors;
alert(eval(document.output.key_code.value));
window.onerror = reportError; // this line should ONLY be used on our site! ****
}
function copyValues(literal,key_creator) {
document.output.key.value = literal;
document.output.key_code.value = key_creator;
if (literal == "yourpassword") {
document.output.area.value = '/* #%@ type some random characters here #%@ */'
+"\r\n"+'eval("loca"+"tion."'+'+"hre"+"f=\'yourhiddenpage.htm\'");';
}
}
// -->
</script>
<form name='output'>
<table width=486 cellpadding=0 cellspacing=0 border=0>
<tr><td>
Be warned that this script can be easily broken by someone with a cryptography background. See our encryption security discussion for more on that subject. If you are trying to protect anything valuable, invest in some more secure encryption. But if it is not going to end the world if someone cracks your code, go ahead and use our script.<br><br>
script obtained from Cut and Paste JavaScript.<br>
<hr noshade size=6><br>
What more could it be used for? Tired of your competitors stealing your JavaScripts off your web site? This script which will actually encode your script into an encrypted format that can be decoded in anyone's browser if they have the right keyword. But the catch is that for the novice looking at the encrypted script (and let's face it, most of your competitors are not intelligent enough to create the JavaScripts themselves so they just steal them from you!), it will be very confusing.<br><br>
The only truly safe script is one that is encrypted by a password. But if you do not want to bother with giving out passwords to your users, there is another, somewhat less secure, but functional way to help prevent your scripts from being stolen. You can configure the key value so that it only works when used on your web site. That way, they can't just copy the encrypted script from your source code and put it in theirs. It won't work after the transfer unless they are smart enough to make some modifications.<br><br>
With all that said, just follow the directions to encrypt your JavaScripts:
</td></tr>
<tr><td>
<hr noshade size=6><br>
<b>First</b>, you need to figure out a key value for the encoding that is going to take place. It has to be a value that <i>will not change</i> no matter how a page is accessed. Your JavaScript code will be encrypted using that key, and then when someone visits your page with the encrypted JavaScript code, that key will be reproduced using the JavaScript statement you input below. Here are some pairs:<br><br>
</td></tr></table>
<table width=486 cellpadding=0 cellspacing=0 border=0>
<t
http://www.webzone.com/javascript/indexf.htm?encoder
daar zie je het in werking
en ja het is best wel een cool idee!!
Dyna18 dat heb je leuk gevonden
daar zie je het in werking
en ja het is best wel een cool idee!!
Dyna18 dat heb je leuk gevonden
Would you like to know more?!! [StarShip Troopers] - Void Station
Ik heb ooit is een script gehad die in js alle spaties door %20 vervangde en dat met elk teken zoals - of . doet de text zelf niet natuurlijk maar dan krijg je zoiets:
%20%20%20document%30window&close das dus heeeeeeel moeilijk te rippen
ik weet ook niet meer precies hoe het heet..
%20%20%20document%30window&close das dus heeeeeeel moeilijk te rippen
www.dannyhiemstra.nl
kijk volgende keer even naar de datum?
Klaar voor een nieuwe uitdaging.
Pagina: 1
Dit topic is gesloten.
![]()