Gå til innhold

Skjule eller hente HTML med Javascript?


Anbefalte innlegg

Jeg har laget et intranett i Javascript/Jquery, hvor koden til intranettet blir skjult med css før innlogging og åpnes når man logger inn.

 

Er dette en fyfy måte i kodeverden? At i kildenkoden står det f.eks "Du er logget inn som..", men dog skjult med css på selve siden?

 

Saken er at jeg ikke ønsker å hente kode igjennom Javascript. Med tanke på at man ikke kan overstyre(Man kan overstyre, men med litt kjip kode). Er det mer riktig å skjule f.eks "Logg ut"-knapp i form av css enn og hente inn kode fra Javascript?

 

Takk på forhånd:)

Endret av webliz
Lenke til kommentar
Videoannonse
Annonse

Egentlig et merkelig spørsmål, det er omtrent som å gjemme nøkkelen under dørmatta for å så spørre om det er sikkert.

Informasjon skjult med CSS er tilgjenglig for alle for de som leter, så du må spørre deg selv hvor viktig det er for deg å skjule informasjonen blir tilgjengelig for de som gidder å gjøre en litt ekstra innsats.

Endret av MrLG
Lenke til kommentar
Gjest Slettet+1523

Om du bare lager et system for moro skyld for deg selv, og som ikke skal ut på nettet og tas i bruk på noe vis er det helt sikkert greit. Om dette faktisk skal brukes til noe så er dette så lite greit atte hjælp.

Endret av Slettet+1523
Lenke til kommentar

Egentlig et merkelig spørsmål, det er omtrent som å gjemme nøkkelen under dørmatta for å så spørre om det er sikkert.

 

Informasjon skjult med CSS er tilgjenglig for alle for de som leter, så du må spørre deg selv hvor viktig det er for deg å skjule informasjonen blir tilgjengelig for de som gidder å gjøre en litt ekstra innsats.

Men det er jo kun html og standardtekst som blir skjult. Er vel ikke akkurat noe sensitivt som blir vist. Man må jo logge seg inn for å få tilgang til dataen.

 

Så man skal altså hente html fra Javascript, når man ikke refresher hovedsiden siden under innlogging?

Endret av webliz
Lenke til kommentar

Håper noen kunne hjulpet meg.

 

Skal jeg gå for denne metoden:

 

JS:

var htmlElements = '<menu class="main">';
htmlElements    += '<li class="user">'+userName+'</li>';
htmlElements    += '<li class="logout"><button>Log out</button></li>';
htmlElements    += '</main>';

Eller sånn i HTML-kilden:

<menu class="main hidden">
  <li class="user"></li>
  <li class="logout"><button>Log out</button></li>
</menu>

Håper dette var mer forståelig. Hva skal jeg velge? Eller finnes det et bedre alternativ?

Endret av webliz
Lenke til kommentar

Er dette en fyfy måte i kodeverden?

 

ja. men du sier egentlig for lite om løsningen til at det går an å gi noe ordentlig svar. du må som en annen skriver spørre deg selv hvor viktig det er at den informasjonen du nå bare skjuler med css forblir helt skjult for brukere som ikke er innlogget. når du utelukkende befinner deg i javascript-verdenen har du egentlig ikke noen god mulighet til å lage løsning med innlogging. autentisering må foregå på server, og den informasjonen som skal begrenses må ikke leveres ut fra servern før brukeren er autentisert. det du har laget er mer "kosmetisk" og høres ikke egentlig ut som en innloggingsløsning. hvor lagres passordene f.eks?

Endret av quantum
Lenke til kommentar

 

Håper dette var mer forståelig. Hva skal jeg velge? Eller finnes det et bedre alternativ?

 

ift. det du lurer på - hvordan lage en innloggingsløsning - spiller det ingen rolle hva du velger. det blir en smakssak, men i utgangspunktet er det vel ingen grunn til å pakke inn markup i javascript.

 

jeg ville tatt en titt på f.eks. AngularJS.

Lenke til kommentar

 

Er dette en fyfy måte i kodeverden?

 

ja. men du sier egentlig for lite om løsningen til at det går an å gi noe ordentlig svar. du må som en annen skriver spørre deg selv hvor viktig det er at den informasjonen du nå bare skjuler med css forblir helt skjult for brukere som ikke er innlogget. når du utelukkende befinner deg i javascript-verdenen har du egentlig ikke noen god mulighet til å lage løsning med innlogging. autentisering må foregå på server, og den informasjonen som skal begrenses må ikke leveres ut fra servern før brukeren er autentisert. det du har laget er mer "kosmetisk" og høres ikke egentlig ut som en innloggingsløsning. hvor lagres passordene f.eks?

 

Oki, prøver å legge ut koden, slik at dere kan forstå helheten. Brukere er registert i en database(Mysql).

Endret av webliz
Lenke til kommentar

denne løsningen gir null sikkerhet ift. om brukeren har klart å logge inn eller ikke, så svaret er ennå en gang at du må spørre deg selv hvor viktig det er å skjule informasjonen for brukere som ikke er logget inn.

 

javascriptkoden din

if(data.success == 'true') 

kan manipuleres på klienten og når det er gjort vil løsningen oppføre seg som om brukeren har klart å logge inn. denne logikken må isteden ligge på serveren, og informasjon om suksessfull innlogging må ligge i brukerens sesjon.

 

du kan selvfølgelig også bruke css til å manipulere sideelementer ift. om brukeren er logget inn eller ikke, men det gir ingen form for sikkerhet, så det må jo da bare være rent kosmetiske ting.

 

generelt er vel dette en av ulempene med javascript/spa-applikasjoner, du kan ha ganske mye logikk på klienten, men noe må uansett ligge på serveren, og da begynnern det å bli viktig å holde tunga rett i munnen.

Endret av quantum
Lenke til kommentar

denne løsningen gir null sikkerhet ift. om brukeren har klart å logge inn eller ikke, så svaret er ennå en gang at du må spørre deg selv hvor viktig det er å skjule informasjonen for brukere som ikke er logget inn.

 

javascriptkoden din

if(data.success == 'true') 

kan manipuleres på klienten og når det er gjort vil løsningen oppføre seg som om brukeren har klart å logge inn. denne logikken må isteden ligge på serveren, og informasjon om suksessfull innlogging må ligge i brukerens sesjon.

 

du kan selvfølgelig også bruke css til å manipulere sideelementer ift. om brukeren er logget inn eller ikke, men det gir ingen form for sikkerhet, så det må jo da bare være rent kosmetiske ting.

 

generelt er vel dette en av ulempene med javascript/spa-applikasjoner, du kan ha ganske mye logikk på klienten, men noe må uansett ligge på serveren, og da begynnern det å bli viktig å holde tunga rett i munnen.

Når vi snakker om sikkerhet, så er det jo PHP som sikrer det sensitive. Man må jo trossalt logge seg inn for å få tilgang til data. Da hjelper det ikke bare å manipulere koden og virke som man er logget inn

Endret av webliz
Lenke til kommentar

 

Når vi snakker om sikkerhet, så er det jo PHP sikrer det sensitive. Man må jo trossalt logge seg inn for å få tilgang til data. Da hjelper det ikke bare å manipulere koden og virke som man er logget inn

 

 

Jeg kan egentlig bare kommentere den koden du har postet, hva resten av php-koden din gjør har jeg ingen formening om.

Lenke til kommentar

 

 

Når vi snakker om sikkerhet, så er det jo PHP sikrer det sensitive. Man må jo trossalt logge seg inn for å få tilgang til data. Da hjelper det ikke bare å manipulere koden og virke som man er logget inn

 

 

Jeg kan egentlig bare kommentere den koden du har postet, hva resten av php-koden din gjør har jeg ingen formening om.

 

 $userName = mysql_real_escape_string($_GET['username']);
  $passWord = sha256($salt.$_GET['password']);
  
  $sqlQuery = mysql_query("SELECT * FROM users WHERE username='$userName' AND password='$passWord'") or die("Wrong with the query command");
  $sqlArray = array();

Det er ikke så mye mer kode enn det jeg har vist. Verdiene må jo matche query'en for at man skal få tilgang til sensitiv data. Men mener du at php-koden er usikker?

Endret av webliz
Lenke til kommentar

 

 

 

Når vi snakker om sikkerhet, så er det jo PHP sikrer det sensitive. Man må jo trossalt logge seg inn for å få tilgang til data. Da hjelper det ikke bare å manipulere koden og virke som man er logget inn

 

 

Jeg kan egentlig bare kommentere den koden du har postet, hva resten av php-koden din gjør har jeg ingen formening om.

 

 $userName = mysql_real_escape_string($_GET['username']);
  $passWord = sha256($salt.$_GET['password']);
  
  $sqlQuery = mysql_query("SELECT * FROM users WHERE username='$userName' AND password='$passWord'") or die("Wrong with the query command");
  $sqlArray = array();

Det er ikke så mye mer kode enn det jeg har vist. Verdiene må jo matche query'en for at man skal få tilgang til sensitive data. Men mener du at php-koden er usikker?

 

 

En gang til: Det er javascriptkoden din som er usikker. Hvis jeg forstår det riktig ønsker du at loggedIn bare skal kunne kjøres når serveren har autentisert brukeren, men loggedIn kan kjøres av alle som vil, når som helst.

Lenke til kommentar

 

 

 

 

Når vi snakker om sikkerhet, så er det jo PHP sikrer det sensitive. Man må jo trossalt logge seg inn for å få tilgang til data. Da hjelper det ikke bare å manipulere koden og virke som man er logget inn

 

 

Jeg kan egentlig bare kommentere den koden du har postet, hva resten av php-koden din gjør har jeg ingen formening om.

 

 $userName = mysql_real_escape_string($_GET['username']);
  $passWord = sha256($salt.$_GET['password']);
  
  $sqlQuery = mysql_query("SELECT * FROM users WHERE username='$userName' AND password='$passWord'") or die("Wrong with the query command");
  $sqlArray = array();

Det er ikke så mye mer kode enn det jeg har vist. Verdiene må jo matche query'en for at man skal få tilgang til sensitive data. Men mener du at php-koden er usikker?

 

 

En gang til: Det er javascriptkoden din som er usikker. Hvis jeg forstår det riktig ønsker du at loggedIn bare skal kunne kjøres når serveren har autentisert brukeren, men loggedIn kan kjøres av alle som vil, når som helst.

 

Ja, skjønner det. Hva tror du er en bedre løsning for dette?

Lenke til kommentar

kode av typen

if (loggedIn = true) ...

må ligger på serveren og ikke klienten, serveren må ikke levere ut informasjon i noe format - html, json, xml, javascript etc. - uten at det er styrt av om brukeren er logget inn eller ikke, på serveren.

Endret av quantum
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...