Avatar billede dennism Nybegynder
08. januar 2006 - 12:48 Der er 13 kommentarer og
1 løsning

PHP: Sikre data

For at sikre, at de data folk indtaster i mit brugersystem ikke kan ødelægge siden, at jeg nødt til at køre denne på hver variabel:
$row[title] = htmlspecialchars(stripslashes($row[title]));

Hvis f.eks. en bruger skriver "<br>test" som titel til en nyhed, ødelægger det jo en del - derfor laver jeg denne når jeg hiver data ud.
Men er der ik en nemmere måde at gøre det på, end at skulle køre den på alle variabler? Kan man f.eks. ik køre den på alle på en gang?

Har prøvet:
$row[] = htmlspecialchars(stripslashes($row[]));

men det dur ikke.
Avatar billede Slettet bruger
08. januar 2006 - 13:10 #1
Kunne du ikke gøre det når data bliver oprettet så var det ligesom overstået en gang for alle, om man så kan sige.
Avatar billede dennism Nybegynder
08. januar 2006 - 13:21 #2
Det giver så lidt problemer hvis jeg senere hen ønsker at ændre den måde hvorpå mine data skal sikres.
Avatar billede Slettet bruger
08. januar 2006 - 13:23 #3
Jeps, men så kunne du jo køre en update script på din database. Det er vel ikke hver dag man laver om på sådanne regler.
Avatar billede webstuff Nybegynder
08. januar 2006 - 13:24 #4
Hvorfor ikke bare lave det her før nyheden gemmes:
$nyhed = strip_tags($_POST[nyhed]);

og så lave den her, når du skal udskrive nyheden:
echo nl2br($vis[nyhed]);
Avatar billede webstuff Nybegynder
08. januar 2006 - 13:25 #5
Så får du dine linjeskift med :-)
Men du kan så ikke bruge noget som helst HTML!
Men der kan du så lave noget med BBcodes :-D
Avatar billede dennism Nybegynder
08. januar 2006 - 13:29 #6
Der er vel ikke noget problem i at køre alle funktioner før de vises, og så helt undlade at lave noget før de uploades?

Kan jeg ikke lave en for-løkke som ændrer alle data i array'en $row på en gang?
Avatar billede Slettet bruger
08. januar 2006 - 13:33 #7
IMHO, det er ikke specielt hensigtsmæssigt at gøre noget mange gange, hvis det kan gøres én gang. Og da slet ikke hvis det site skal have noget trafik.
Avatar billede dennism Nybegynder
08. januar 2006 - 13:55 #8
Oki. Hvad anbefaler I så at jeg gør, og hvilke funktioner skal jeg trække mine data igennem?
Avatar billede Slettet bruger
08. januar 2006 - 14:01 #9
Du kan vel bruge dine htmlspecialchars og stripslashes ??
Avatar billede dennism Nybegynder
08. januar 2006 - 14:05 #10
Er det nok kun at køre de to? Er stripslashes ikke unødvendig?
Avatar billede dennism Nybegynder
08. januar 2006 - 14:06 #11
Kan jeg ikke lave en for-løkke som ændrer alle rækker i $_POST så jeg er fri for at lære dem alle sammen igennem?
Avatar billede Slettet bruger
08. januar 2006 - 14:12 #12
Jeg ville nok gøre det for de felter som er navngivet, selvom det virker "tungt" nu så kan det bliver rigtigt ærgeligt hvis du pludselig laver ændringer på variabler du egentligt ikke skal have det gjort på.
Avatar billede dennism Nybegynder
08. januar 2006 - 18:51 #13
Oki. Smider I lige et svar?
Jeg valgte at lave ændre mine variabler når jeg henter dem ind.
Avatar billede Slettet bruger
08. januar 2006 - 20:06 #14
svar ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester