Ik ben momenteel met mijn website bezig. Echter zit ik nu met een vraag..
Iedereen weet uiteraard dat PHP serverside is en voor de gebruiker is afgeschermt. Daarnaast is het ook uiteraard bekend dat JS/JQuery gewoon uit te lezen is in de pagina source.
Deze code kan ik dan ook niet afschermen.
Maar zou voor het afschermen mogelijk zijn dat ik in JS simpel weg een PHP function aanroep inplaats van dat ik het gedoe allemaal in JS afhandel?
Momenteel roep ik een query aan dat zijn result terug stuurd naar de door mij op gegeven callback JS functie.
Momenteel doe ik daar dus ook alle programmering maar is het nogal gemakkelijk om de code te 'jatten'.
Nu is mijn vraag, zal het tot langere laadtijden, etc leiden als ik deze PHP functies aanroep en de gegevens laat tonen inplaats van JS.
Op mijn website, gebruik ik zoals hierboven verteld JS in combinatie met PHP.
Om mijn code niet steelbaar te maken, door middel van 'View Source' van IE, de 'Element Inspector' van Chrome, of de 'Firebug' van FireFox.. vraag ik mij af of ik bijv. in JS gewoon een PHP functie kan aanroepen.
Als je het niet erg vind om een page-refresh te krijgen voor elke melding, dan kun je inderdaad beter gewoon met php werken (dat doe ikzelf sowieso altijd al, NEVER trust clientside input).
Het javascript gedeelte is er alleen maar voor de gebruiksvriendelijkheid, zoals 'realtime' controle en afhandeling van foutenmeldingen.
Nou, het betreft gewoon de Youtube API, dus youtube handeld ook de user input af..
Het is enkel dat ik mijn code niet zichtbaar wil hebben.. En het is mogelijk om te communiceren tussen PHP en JS, dus mijn vraag is dan ook, ALS ik dit ga toepassen, zal dit een effect hebben op de pageload, etc.
De regel is simpel: Vertrouw NOOIT clientside info. Javascript zou dus nooit belangrijke keuzes voor afhandeling mogen maken.
Denk bijvoorbeeld aan registeren, JS zou nooit een query in elkaar mogen zetten en die naar PHP sturen om uit te voeren. Wat JS wel mag doen, is alle velden controleren of het ingevuld is. En daarna die waardes via ajax naar PHP sturen. Nu weten we dat we nooit clientside info mogen vertrouwen, dus in PHP nogmaals alles checken, en dan kun je er mee doen wat je wilt.
Ikzelf doe veel op die methode. Javascript laat ik netjes controleren, op een manier dat een 'normale' user nooit door de JS validatie heen komt zonder correcte waardes. Voor die paar die lopen te kutten heb ik een superbasic phpcontrole zonder echt nette afhandelijk (edit: want die zijn mn tijd niet waard. Je zou hier een logfuntie kunnen maken indien handig).
Het is dus een afweging hoever je JS dingen laat doen, en hoeveel je door PHP doet.
PS: Bang zijn dat je code wordt uitgelezen is ook niet echt nodig, je kunt beter bang zijn voor alle clientside info die je afwerkt, want dusver is een SQL injection de meest voorkomende grote bug in websites, en die komt (vaak) door alleen maar in een al bestand (bv zoek-)veld iets in te vullen.
Naja, het scheelt dat mijn eigen framework apart staat van heel het JS gebeuren, dus er zijn totaal geen database gerelateerde acties ook maar in de buurt van JS.
Verders vraag ik vrijwel nooit om USER INPUT, de enkele USER INPUT dat wordt gebruikt is een search met de daarbij behorende $_GET functie.
Echter komt ook deze $_GET niet in de buurt van mijn database omdat deze input rechtstreeks richting Youtube wordt verstuurd.
Overigens zijn dit niet de antwoorden naar waar ik op zoek ben, en zal even mijn vraag verduidelijken. (Zie main thread).
Daarnaast was ik bezig om een eigen functie voor number_format in JS te maken, maar deze blijft laden en loopt dus de browser vast.
Misschien dat jullie mij hierbij kunnen helpen? Heb uiteraard ook op google gezocht, maar daarbij kwam ik alleen bij formats dat mij een getal terug gaven dat eindigde met ,00.
function number_format(num)
{
var value = "";
var length = num.length;
var count = length / 3;
var rem = length % 3;
var startIndex = rem;
var endIndex = 0;
value = num.substring(0, rem - 1);
for (var i = startIndex; startIndex < length; i = i+3) {
endIndex = startIndex + 3;
value += ',' + num.substring(i, endIndex);
}
return value;
}
function number_format(num)
{
var value ="";
var length = num.length;
var count = length /3;
var rem = length %3;
var startIndex = rem;
var endIndex =0;
value = num.substring(0, rem -1);
for(var i = startIndex; startIndex < length; i = i+3){
// prep4money - zet een INT om in een moneyformat
function prep4money(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + ',' + cents);
}
// prep4money - zet een INT om in een moneyformat
function prep4money(num){
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num ="0";
sign =(num ==(num = Math.abs(num)));
num = Math.floor(num+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents ="0"+ cents;
for(var i =0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return(((sign)?'':'-')+ num +','+ cents);
}
die heb ik ooit op het internet gevonden, die werkt wel goed.
Op je ",00", die kan je ook gewoon kunnen gebruiken en dan de komma's door punten vervangen
Op die vraag, daar zou ik me niet druk om maken. Zolang alle aanpassingen die een bezoeker maakt in zn html/js alleen maar bij de gebruiker dingen veranderd, dan is er helemaal niets aan de hand
snap ik, maar het is vooral om een copy van mijn eigen website te voorkomen zeg maar.. aangezien de hele website eigenlijk vrijwel JS is, kunnen ze de code kopieren en als hun eigen benoemen.. ook al staat er in mijn disclaimer, terms, etc dat dat niet de bedoeling is..
Daarnaast, enig idee hoe ik het probleem met mijn footer kan oplossen?? (Bij een te klein formaat wordt de footer veranderd, zo worden er diverse divs naar onderen verplaatst).
Als je gekopieerd wordt, is het eerder een compliment voor je. Heb geen schrik van gekopieerde code. Als het echt een te erge kopie is, kan je je copyright inroepen bij Google en de site in kwestie laten verwijderen op basis van copyright schending.
Op die manier worden ze massaal uit de zoekresultaten gekegeld en heb je eigenlijk er geen last meer van. Google neemt copyright wel serieus, ik heb voor zowel mezelf als klanten er al gebruik van gemaakt en binnen de paar weken bestaat die site dan niet meer.
Álles wat de user in zn browser ziet, is kopieerbaar, of je het nou met js, php of html doet. De phpsource kunnen ze nooit van je krijgen, die van javascript wel. Er zijn scramblers maar die kosten vaak geld.