database beveiliging

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Beezz

Beezz

11/03/2009 22:32:00
Quote Anchor link
Beste mensen,

Graag wil ik mijn database verbinding beter beveiligen.

Wat zijn hiervoor de beste opties??

Ik weet al voor de $_POST[''] waarden mysql_real_escape_string() te gebruikn.

Ik kan alle input goed gebruiken.. Misschien ergen een goeie tut...

Alvast bedankt voor reacties

LET OP!!! voor php4
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 
PHP hulp

PHP hulp

22/12/2024 11:21:37
 
Marco PHPJunky

Marco PHPJunky

11/03/2009 22:34:00
Quote Anchor link
Zou je je verbindings methode misschien hier willen neer zetten dan kunnen we misschien kijken hoe we het 'beter' kunnen beveiligen....
 
Beezz

Beezz

11/03/2009 22:39:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$user
= '';
$pass = '';
$host = 'localhost';
$dbase = 'dbase';

mysql_connect($host,$user,$pass) or die ('dbase fout');
mysql_select_db($dbase);

?>


Echt op de simpelste manier...

Ik wil eigenlijk met mogelijkheden voor php5 aan de gang maar moet eerst een htaccess bestand op mijn host zetten eer ik php5 kan gebruiken....
 
Frank -

Frank -

11/03/2009 22:40:00
Quote Anchor link
De verbinding tussen de webserver (Apache met PHP) en de database (MySQL) heeft niets te maken met mysql_real_escape_string(). Dat is voor de beveiliging van userinput.

PHP 4 stamt uit het stenen tijdperk, die mag je dus eerst wel een gaan updaten. Het heeft weinig zin om aan oude rommel te gaan sleutelen. De verbinding kun je gaan beveiligen met SSL en uiteraard gebruik je sterke wachtwoorden voor de database users.
 
Beezz

Beezz

11/03/2009 22:43:00
Quote Anchor link
@pgfrank

Je hebt gelijk ik kan ook beter maar even naar php5 gaan.. Is niet veel werk
en kan gelijk over op mysqli of PDO, als ik nu trigger_error gebruik loopt me schript al vast namelijk.


Over mysql_real_escape_string();

Dat wist ik, alleen zijn dat alle beetje sbij elkaar die een betere beveilging geven op het geheel....
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 
Marco PHPJunky

Marco PHPJunky

11/03/2009 22:50:00
Quote Anchor link
voor mysqli zou je bijvoorbeeld kunnen gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?PHP
$mysqli
= new mysqli('host', 'user', 'password', 'database');
if(mysqli_connect_errno())
{

    trigger_error('Fout bij verbinding: '.$mysqli->error);
}

?>


In PDO heb je de keus uit verschillende databases waarmee je verbinding kan maken dus kies maar...

Edit:
Klik Hier
Gewijzigd op 01/01/1970 01:00:00 door Marco PHPJunky
 
Willem Jan Z

Willem Jan Z

11/03/2009 23:01:00
Quote Anchor link
Marco, heb je enig idee waar hij het over heeft? Jij hebt nog geen enkele opmerking gemaakt die ook maar iets met beveiliging te maken heeft. Sterker nog, het is af te raden de MySQL error te tonen in een live omgeving.
 
Marco PHPJunky

Marco PHPJunky

11/03/2009 23:05:00
Quote Anchor link
@WillemJan Z
Ik weet zeker waar het over gaat maar hij gaf aan dan over wilde gaan op php5 samen met mysqli of pdo dus ik dacht ik geeft hem een klein verbeeldje om hem opweg te helpen....

En ja in een live omgeving kan je dat beter niet doen maar je moet toch ergens beginnen....
 
Beezz

Beezz

12/03/2009 09:48:00
Quote Anchor link
Nou heb het allemaal op php5 staan en heb dat getest via een phpinfo()
maar als ik bijvoorbeeld trigger_error in mijn script(s) gebruik en mysqli dan wordt mijn beeld wit.

Haal ik trigger_error weg dan krijg ik de foutmelding te zien dat de mysqli connectie niet is geslaagd. ( ik heb dan expres een foutieve dbase verbinding staan voor de test)

Waar gaat het fout bij mijn host??

Zit bij hosting2go misschien mis ik iets...
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 
Frank -

Frank -

12/03/2009 09:51:00
Quote Anchor link
Nee, bij jouw script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);

// rest van je script
?>


Welke meldingen krijg je dan op je scherm?
 
Beezz

Beezz

12/03/2009 10:00:00
Quote Anchor link
Nou spank me maar van achteren, ik krijg nu precies dat wat ik had verwacht.

De verbinding werkt en me scherm wordt weer gevuld met een normale website.

Ik moest namelijk een .htaccess bestand in mijn script zetten en dat had ik ook gedaan, echter bleef mijn scherm wit als ik dit stukje code erin zette
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$mysqli
= new mysqli('localhost','user','pass',);
if(mysqli_connect_errno())
{

    trigger_error('Fout bij verbinding: '.$mysqli->error);
}

?>


Nu werkt het wel...

En niets veranderd aan de user en pass....

noob zijn gevoelens die me overspoelen.....


Goed, bedankt mensen ben weer een stukje verder....
Gewijzigd op 01/01/1970 01:00:00 door Beezz
 

12/03/2009 10:22:00
Quote Anchor link
Quote:
LET OP!!! voor php4


Dat is dan meer iets als "Dweilen met de kraan open" ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.