[quote="Kevin Jager op 09/12/2014 12:50:44"]
Even nog toevoeging, ik raad aan om 1 van deze 2 te gaan gebruiken:
- htmlspecialchars()
- mysql_real_escape_string()
Alleen de tweede is voor beveiliging voor in de database.
[/quote]
Klopt, maar ik ken mensen die allebei gebruiken of heeeel eigenwijs de eerste gebruiken, dat raad ik zwaar af maar toch doen hun het.
[quote="Kevin Jager op 09/12/2014 12:50:44"]
Even nog toevoeging, ik raad aan om 1 van deze 2 te gaan gebruiken:
- htmlspecialchars()
- mysql_real_escape_string()
Kevin Jager op 09/12/2014 12:50:44
Klopt, maar ik ken mensen die allebei gebruiken of heeeel eigenwijs de eerste gebruiken, dat raad ik zwaar af maar toch doen hun het.
Beetje tegenstrijdig.
[/quote]
Allebei tegelijkertijd raad ik af, en licht er ook aan wat voor site en hoe druk.
Sowieso mijn lievelings voorkeur is niet htmlrealescapestring, maar nu gebruikt hij niks dus ik raad aan om wel zo iets te gebruiken
Kevin, je moet wel een beetje opletten wát je precies aanraadt. SanThe heeft daarmee een goed punt. Iets aanraden "omdat hij nu niks gebruikt" is geen geldig argument om dan zomaar iets aan te raden wat eigenlijk niet helemaal juist is. Het is goed bedoeld, maar als je advies geeft moet het wel kloppen, anders raakt iemand van de regen in de drup. Hij denkt dat hij veilig is, maar dat is hij niet.
Kevin, je moet wel een beetje opletten wát je precies aanraadt. SanThe heeft daarmee een goed punt. Iets aanraden "omdat hij nu niks gebruikt" is geen geldig argument om dan zomaar iets aan te raden wat eigenlijk niet helemaal juist is. Het is goed bedoeld, maar als je advies geeft moet het wel kloppen, anders raakt iemand van de regen in de drup. Hij denkt dat hij veilig is, maar dat is hij niet.
Klopt Ozie dat had ik over het hoofd gezien dan moet htmlspecialchars weg, en alleen mysql_real_escape_string
>> Voor TLS moet ik gewoon SSL bestellen? Er zijn veel soorten maakt dat ook wat uit?
Ja dat maakt uit! in elk geval in prijs. De goedkoopste zijn alleen te gebruiken voor
je hoofddomein en het www subdomein. Deze dus:
https://mijndomein.nl
https://www.mijndomein.nl
Er is ook een versie die alle subdomeinen voor je beveiligt en is meteen een stukje duurder. bijvoorbeeld:
Daarnaast zijn er nog meer soorten waar ik geen ervaring mee heb. Deze worden door onder andere banken gebruikt en zijn te duur voor de kleine man.
>> Dus huidige systeem die op mysql is gebaseerd kan daarnaast mysqli ondersteunt worden?
Mysqli_ lijkt veel op Mysql_ . Een aantal functies hebben met een parameter meer nodig of de parameters staan net in een andere volgorde. Dit kun je aanpassen in je bestaande script. Naast elkaar gebruiken kan ook maar zou ik niet doen.
>> Met cross bedoelde zo iets als dit? Dus iemand slaat je pagina als html op en past kleine dingen aan om vanaf zijn computer form te laten?
Als ik jouw HTML lees dan weet ik de name attributen van je formuliervelden ( name="xxx" )en dus welke variabelen ik naar jouw pagina kan toesturen. Dit is echt heel simpel te doen en kan volledig automatisch tot miljarden keren aan toe met telkens andere waarden.
>> Naast sessie sleutel heb je ook eigen sleutel, wat noem je zo'n eigen sleutel dan zal ik even op google zoeken.
We noemen we zo een ding ook wel een Token. Een token kan ook gebruikt worden om een dubbele submit te herkennen en te voorkomen dat gegevens onbedoeld dubbel in de database komen te staan.
als het formulier verstuurd is dan ga je proberen een record in de database te vinden waarvan de loginnaam overeenkomt met de loginnaam die gepost is.
SELECT
user_id, loginname, password, wrong_pass
FROM
users
WHERE
loginname='$loginname'
LIMT
1
als je die gevonden hebt controleer je of wrong_pass niet te hoog is.
Als wrong_pass niet te hoog is dan controleer je het wachtwoord.
Is het password onjuist dan doe je een query die het aantal foutieve inlogpogingen verhoogd:
UPDATE
users
SET
wrong_pass = wrong_pass + 1,
WHERE
user_id = $user_id
Je weet nu hoe hoog wrong_pass is. namelijk de laatst opgehaalde waarde plus 1.
Is de maximale waarde nu bereikt en kan de gebruiker niet meer inloggen dan ga je nu een email sturen