[PHP] Veiligheid werken met variabelen

Pagina: 1
Acties:
  • 164 views sinds 30-01-2008
  • Reageer

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Topicstarter
Ik vroeg me zonet af, alle variabelen die je in je site gebruikt, zijn die te achterhalen?

Want het lijkt me namelijk niet een fijn idee, dat iemand die probeert je site te hacken ofzo, één of ander proggie kan hebben, die alle variabelen weergeeft die je gebruikt.

Want op het moment dat iemand op submit drukt, worden alle variabelen toch onbeveiligd verstuurd?

of kun je alleen maar de variabelen lezen waarvan je de naam weet?


ik hoop dat ik het zo een beetje duidelijk heb uitgelegd, ik vraag me dus gewoon af hoe het zit met de veilighied, wat zijn de valkuilen etc.

/PS
Dingen zoals htmlentities() of addslashes() voordat je een variabele in de in de SQL query gebruikt weet ik wel, of een password encrypten en de en de geencrypte password vergelijken enzo dat zijn eigenlijk de enige dingen die ik op het gebied van veiligheid weet.

mijn T.net systeemspecspagina


  • Johannes
  • Registratie: Juni 2000
  • Laatst online: 14-09 23:09
Als de transfer onderschept kan worden, dan kan de aanvaller ook de variablen lezen. Als deze variabelen zo belangrijk zijn, dan kun je denk ik het beste met SSL gaan beginnen. Op SourceForge wordt dit ook gebruikt, en aangezien SourceForge opensource is, kun je misschien wel ff uitvissen hoe het daar in elkaar zit.

Uit volle borst op weg naar nergens / Zonder reden zonder doel
Met m'n zeden en m'n zonden / En mijn angstig voorgevoel
Laat mij mijn kont tegen de krib / Laat mij dit goddeloze lied
Hef jij je handen maar ten hemel / Maar red mij niet


  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Topicstarter
You will be connected with an SSL server when you submit this form and your password will not be visible to other users. (If you wonder why very this page is not loaded via SSL, please read next paragraph. Thank you.)
De server moet dus SSL ondersteunen :)

mijn T.net systeemspecspagina


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 23 november 2001 17:09 schreef RRX het volgende:
De server moet dus SSL ondersteunen :)
Je kan natuurlijk heel moeilijk doen en bijv via een applet of via javascript een eigen encryptie eroverheen gooien.

Dan heb je bijna hetzelfde als SSL.

Maar ik denk niet dat het al-dan-niet gebruiken van SSL de grootste bron van site-hacks is.

Verwijderd

wat je wel kunt doen is alle variables die van buiten af moeten komen en via post verzonden worden via post ophalen $HTTP_POST_VARS['variable name'] en de rest unsetten. unset($variable name)

wat ik ook vaak gebruik tegen hackpogingen iets heel simpels
PHP:
1
2
3
<?
if (isset($HTTP_POST_VARS['set'])) $set = $HTTP_POST_VARS['set']; else unset($set);
?>

eigenlijk niet veel maar veel n00b hackers zullen via get proberen te verzenden. en dan word dat geunset..

Op php builder stond een leuke tutorial volgens mij over security en op de forum van devshed ook ff zoeken..

http://www.phpbuilder.com/columns/sporty20001102.php3 [errug basic]

Goede topic over security [meeste zullen het wel er wel rekening houden bij het coden maar voor de zekerheid]

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:04

Creepy

Tactical Espionage Splatterer

gewoon NOOIT aannames doen als variabelen van bijv. forms af komen... altijd checken die zooi... zeker als je calls ala system() in je script hebt zitten.

Of je nu wel of geen SSL gebruikt.... iemand die de html code bekijkt kan zelf met var's (uit forms) gaan zitten rotzooien natuurlijk, aangezien deze zo uit de html code te halen zijn

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 23 november 2001 18:07 schreef Creepy het volgende:
gewoon NOOIT aannames doen als variabelen van bijv. forms af komen... altijd checken die zooi... zeker als je calls ala system() in je script hebt zitten.
Klopt, voor getallen is bijv: is_numeric($invoer) erg handig :)

Maar ook dan moet je nog checken of ie binnen je constraints valt (groter dan 0, kleiner dan 10 etc)

Daarnaast moet je eigenlijk ook variabelen van "buitenaf" nooit direct in andere zaken stoppen
include("$var.php");
is niet handig, beter wat meer programmeerwerk dan en er een switch-case boom bouwen.

(tuurlijk er zijn altijd uitzonderingen, maar ook die moet je zo goed mogelijk beperken).
Pagina: 1