Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2017-05-22, 19:28
  #13
Medlem
Snuskass avatar
Kanske ett helt tokigt svar men det första jag noterade var att din valideringsfunktion heter validate medan formuläret kallar på validateForm().
Citera
2017-05-22, 21:54
  #14
Medlem
Citat:
Ursprungligen postat av Decentralized
Tack så mycket för ett utförligt och bra svar! Måste man skriva in PHP-koden i ett separat .php-dokument eller kan man skriva in det innanför <script>-taggar i ett .html-dokument? Eller om man rentav kan länka till ett .php-dokument i <head>-taggarna som man gör med CSS-stylesheets?

Allt det du säger är möjligt, dock inte alltid bra. Du använder PHP för att generera HTML (och i bland script), men man ska undvika att blanda hejvilt.
Citera
2017-05-22, 22:24
  #15
Moderator
Protons avatar
Citat:
Ursprungligen postat av Decentralized
Ok, tack för ditt svar! Får nog plugga lite JavaScript och sedan återkomma, kanske en dum idé att bara blint kopiera någons kod. Håller på med ett annat inloggningssystem just nu där jag verkar få ordning på en loop. Jag återkommer med koden om ett tag.

Btw, tanken med en loop i åtminstone detta sammanhang är väl att JavaScript ska loopa igenom de kombinationer av användarnamn och lösenord man angivit i en array för att sedan matcha med det som användaren har angivit i ens inputs, och att sedan loopen ska avslutas när detta antingen matchar eller inte matchar? Har jag förstått det hela rätt?
Japp, det är precis vad som står i koden, så det var rätt uppfattat.
Citat:
Ursprungligen postat av Decentralized
Tack så mycket för ett utförligt och bra svar! Måste man skriva in PHP-koden i ett separat .php-dokument eller kan man skriva in det innanför <script>-taggar i ett .html-dokument? Eller om man rentav kan länka till ett .php-dokument i <head>-taggarna som man gör med CSS-stylesheets?
PHP är ett scriptspråk som för det mesta exekveras av en PHP-tolk på en webserver och sedan presenteras resultatet av exekveringen som html som webläsaren kan rita ut.

Det är inte speciellt vanligt, men det går ju att exekvera php-kod på klientsidan med, under förutsättning att en php-tolk finns installerad. Det är dock inte speciellt vanligt, utan den kod som exekveras i webläsaren är normalt sett JavaScript.
Citera
2017-05-22, 23:21
  #16
Medlem
Citat:
Ursprungligen postat av Decentralized
Du kanske har något förslag på hur jag kan göra istället?
Det är ganska brant uppför om du precis har börjat med webbutveckling. Steget från en inloggning som är hårdkodad client-side till en faktiskt användbar inloggning enligt konstens alla regler är stort.
Du måste skydda klient/server mot saker som sql-injektioner, sessionskapning, avlyssning, brute-force attacker osv. Därtill måste du se till att eventuella intrång i din server inte ger tillgång till användarens lösenord i klartext. Sen tillkommer saker som password recovery...

Som andra har skrivit så sker i princip allt som har med inloggning att göra server-side, i lämpligt språk för ändamålet (som PHP som föreslagits).

Det jag egentligen vill säga med inlägget är att säkerhet är svårt och därmed tidskrävande att implementera. Tacksamt nog är det ganska standardiserat och därför finns bra bibliotek och ramverk som sköter det och man delegerar oftast uppgiften dit. Men det är ingen ursäkt att inte lära sig mer om det.

Skulle du vilja ge dig på att skriva det själv så rekommenderar jag att ta ordentligt med tid, googla rätt på en guide för inloggning i exempelvis PHP och ta det därifrån. Jag kan tyvärr inte rekommendera någon guide på rak arm, men hög träff på google för "php login tutorial" ger dig nog en ganska bra start.
Citera
2017-05-22, 23:41
  #17
Medlem
Brunbeverns avatar
Citat:
Ursprungligen postat av DJ-Emerald
Snälla, gör inte på det här sättet. Gå till sidan, högerklicka och välj "visa källa" så förstår du varför det är så dåligt ur säkerhetssynpunkt.

Citat:
Ursprungligen postat av Decentralized
Du kanske har något förslag på hur jag kan göra istället?


Byt ut de hårdkodade autensieringsuppgifterna mot ett asynkront anrop till en web service så fungerar det utmärkt.

Citat:
Ursprungligen postat av studioxswe
Fast det är väl ingen idé att "lära sig" ett dåligt sätt, som aldrig någonsin kommer användas i verkligheten? Om du vill gömma en sida så är det i så fall mycket smartare att hitta på ett randomnamn, typ index-3458werfjasjdfe7345wsdfsdf.html och se till att inga sökmotorer hittar den.

Vad är det du vill lära dig, egentligen? att programmera javascript, html, eller något server-side?

Varför dissa TS exempel så mycket? Går utmärkt att använda Javascript för att kommunicera med externa servrar.

PHP är inte det enda som existerar om ni trodde det.
Citera
2017-05-23, 07:41
  #18
Medlem
studioxswes avatar
Citat:
Ursprungligen postat av Brunbevern
Byt ut de hårdkodade autensieringsuppgifterna mot ett asynkront anrop till en web service så fungerar det utmärkt.



Varför dissa TS exempel så mycket? Går utmärkt att använda Javascript för att kommunicera med externa servrar.

PHP är inte det enda som existerar om ni trodde det.

Vad yrar du om? TS pratar om att lösenordsskydda en sida, inte prata med "extern server".
Citera
2017-05-23, 12:31
  #19
Medlem
Decentralizeds avatar
Citat:
Ursprungligen postat av Proton
Japp, det är precis vad som står i koden, så det var rätt uppfattat.

PHP är ett scriptspråk som för det mesta exekveras av en PHP-tolk på en webserver och sedan presenteras resultatet av exekveringen som html som webläsaren kan rita ut.

Det är inte speciellt vanligt, men det går ju att exekvera php-kod på klientsidan med, under förutsättning att en php-tolk finns installerad. Det är dock inte speciellt vanligt, utan den kod som exekveras i webläsaren är normalt sett JavaScript.

Okej! Jag är väldigt ny inom detta, så du får ursäkta min okunskap

Så kort och gott kan man väl säga att scriptspråket för klientsidan (front-end) är som standard JavaScript, och på serversidan (back-end) är det PHP som gäller? Då förstår jag er som påstår att jag är dum i huvudet som använder JavaScript för ett inloggningssystem, då det inte riktigt är till för det! Ska googla vidare på lite guider så kanske jag uppdaterar tråden med ett inloggningssystem skrivet i PHP.
Citera
2017-05-23, 12:34
  #20
Medlem
Decentralizeds avatar
Citat:
Ursprungligen postat av Blippster
Det är ganska brant uppför om du precis har börjat med webbutveckling. Steget från en inloggning som är hårdkodad client-side till en faktiskt användbar inloggning enligt konstens alla regler är stort.
Du måste skydda klient/server mot saker som sql-injektioner, sessionskapning, avlyssning, brute-force attacker osv. Därtill måste du se till att eventuella intrång i din server inte ger tillgång till användarens lösenord i klartext. Sen tillkommer saker som password recovery...

Som andra har skrivit så sker i princip allt som har med inloggning att göra server-side, i lämpligt språk för ändamålet (som PHP som föreslagits).

Det jag egentligen vill säga med inlägget är att säkerhet är svårt och därmed tidskrävande att implementera. Tacksamt nog är det ganska standardiserat och därför finns bra bibliotek och ramverk som sköter det och man delegerar oftast uppgiften dit. Men det är ingen ursäkt att inte lära sig mer om det.

Skulle du vilja ge dig på att skriva det själv så rekommenderar jag att ta ordentligt med tid, googla rätt på en guide för inloggning i exempelvis PHP och ta det därifrån. Jag kan tyvärr inte rekommendera någon guide på rak arm, men hög träff på google för "php login tutorial" ger dig nog en ganska bra start.

Tack så mycket för ditt svar. Ja, lämpligen ska jag nog börja med att lära mig basic PHP innan jag sätter igång och gör ett inloggningssystem. Som jag förstått det så är det i princip värdelöst att göra det i JavaScript, om man bortser från det utbildningsvärde inom programmering som detta exempel medför.
Citera
2017-05-23, 13:21
  #21
Moderator
Protons avatar
Citat:
Ursprungligen postat av Decentralized
Okej! Jag är väldigt ny inom detta, så du får ursäkta min okunskap

Så kort och gott kan man väl säga att scriptspråket för klientsidan (front-end) är som standard JavaScript, och på serversidan (back-end) är det PHP som gäller? Då förstår jag er som påstår att jag är dum i huvudet som använder JavaScript för ett inloggningssystem, då det inte riktigt är till för det! Ska googla vidare på lite guider så kanske jag uppdaterar tråden med ett inloggningssystem skrivet i PHP.
PHP är ETT av FLERA sätt att koda serverside-logik, men långt ifrån nån slags standard.

För att krångla till det ytterligare finns det ju även serverside-javascript, men om vi ska hålla det på en rimlig nybörjarnivå så är det enklast att konstatera att JavaScript brukar husera på klientsidan, PHP används med fördel för att koda serverside-logiken med.

Således är ditt antagande i detta fall korrekt, JavaScript bör du inte använda för att implementera nån slags login med, iaf inte på det sättet du gjort i denna tråd. Däremot är det alldeles utmärkt för att validera formulär innan dessa skickas (tomma fält, obligatoriska uppgifter etc).

När du kommit längre i ditt lärande kan det ju vara dags att kolla på asynkrona anrop med JavaScript, men börja inte i den ändan föreslår jag, det är troligen mycket att hålla rätt på utan det i nuläget för dig.
Citera
2017-05-23, 17:29
  #22
Medlem
Brunbeverns avatar
Citat:
Ursprungligen postat av studioxswe
Vad yrar du om? TS pratar om att lösenordsskydda en sida, inte prata med "extern server".

Vad yrar du om snarare? Poängen är att det vore hur lätt som helst att byta ut det hårdkodade mot ett anrop mot ett API för autentisering. Därav finns det inget problem överhuvudtaget för TS att skapa ett sånt där program för lärandesyfte. Inte för att det är obligatoriskt att man måste göra något "rätt" för att få lära sig saker. Det finns inget meningslöst i TS program.
__________________
Senast redigerad av Brunbevern 2017-05-23 kl. 17:32.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback