Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hur skydda databasen när användaren kan mata in det som sparas (SQL Injection versus XSS)? #19

Open
mosbth opened this issue Oct 6, 2022 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@mosbth
Copy link
Member

mosbth commented Oct 6, 2022

Jag undrar om någon kan hjälpa mig tydliggöra en sak som jag inte helt har greppat om htmlentities() och databaser.

Om en användare vill göra något som ändrar databasen, t ex skapa konto eller ändra ett befintligt, behöver man då använda sig av htmlentities() eller är det inte aktuellt då det ska in i databasen och då så håller det med att göra en “prepared sql förfrågan”.

Sen om man ska skriva ut det användaren har lagt in i databasen igen på sin sida (t ex visa profilsida med data), behöver man då använda sig av htmlentities() när det skrivs ut sedan det är inputs från användares som kan visas på sidan? Eller har “in- och uthämtandet” från databasen gjort det överflödigt?

Prepared statement skyddar själva SQL-frågan så att användaren inte kan injecta potentiellt farliga saker som tex modifierar SQL-frågan till att radera hela tabellen.

htmlentitites() skyddar webbsidan så att användaren inte kan injecta farlig kod in till webbsidan

När vi låter användaren fylla i ett formulär, som sparas i databasen, och sedan visas formulärets data i webbsidan så kan vi tänka så här.

  1. Att lagra potentiellt farliga strängar i databasen är inte ett problem. Men när vi skriver ut dem i webbsidan så skall vi alltid göra htmlentites().
@mosbth mosbth self-assigned this Oct 6, 2022
@mosbth mosbth added the documentation Improvements or additions to documentation label Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant