webForumDet fria alternativet

Vad är fel?

5 svar · 230 visningar · startad av Webslave

WebslaveMedlem sedan maj 2002647 inlägg
#1

Jag använder (vill använda) denna kod för att kolla så att man godkänner ändringarna av sina uppgifter med sitt lösenord (blandat med PHP och MySql).

<script language="JavaScript">
function CheckPrivateUpdate(){

  var confirm = document.Private.confirm_pass.value;

  if(confirm.value != "<?=$row['user_pass']?>"){
    alert("Du måste godkänna med ditt lösenord!");
    return false;
  }
}
</SCRIPT>

När jag kollar i källkoden så står det lösenordet i stället för <?=$row['user_pass']?> men (vi säger att mitt lösenord är banan) om jag fyller i "banan" i input fältet "confirm_pass" så poppar fortfarande alert boxen upp... fast jag har skrivit rätt lösenord. Har jag kodat helt galet eller?

dectgapMedlem sedan sep. 20021 655 inlägg
#2
var confirm = document.Private.confirm_pass.value;

if(confirm.value != "<?=$row['user_pass']?>"){
  alert("Du måste godkänna med ditt lösenord!");
  return false;

Med detta kommer du att kolla ifall document.Private.confirm_pass.value.value är lika med lösenordet. Plocka bort ett value, så ska det fungera; alltså:

var confirm = document.Private.confirm_pass.value;

if(confirm != "<?=$row['user_pass']?>"){
  alert("Du måste godkänna med ditt lösenord!");
  return false;

Att lägga in lösenord i html-koden på detta vis är en mycket osäker metod. Tänk efter om du inte kan lösa det på något annat sätt.

WebslaveMedlem sedan maj 2002647 inlägg
#3

Jag ska tänka om... någon som har några idéer?

colioneMedlem sedan juni 20014 421 inlägg
#4

Kolla det serverside, men behåll det han har skrivit i en cookie om lösenordet är felaktigt eller tomt. Någon kanske kan flytta tråden till PHP forumet?

WebslaveMedlem sedan maj 2002647 inlägg
#5

Det är just det jag inte vill göra, jag vill kunna kolla det på en gång och då måste det ju vara JavaScript som gäller och då blir det ju såhär... serverside tar onödig tid (lat och bekväm ;) )

solbulleMedlem sedan mars 20015 287 inlägg
#6

Du kan ju aldrig låta lösenordet vara synligt i htmlkoden, det är ju som att låta dörrnyckeln sitta i låset.

Imho.

258 ms totalt · 3 externa anrop · v20260731065814-full.30151723
128 ms — hämta forumlista (db)
123 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)