Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ SQLite _ SQLite a sprawa bezpieczeństwa

Napisany przez: Bastion 20.04.2006, 05:56:33

Witam,

Mam takie pytanie , przygladam sie bazie danych SQLite i zaczynam powątpiewać
w bezpieczeństwo danych zgromadzonych w bazie , nie mówię tu już o hasłach, bo
przecież można je puścić przez jakiś crypt, ale np. dane klientów etc... Otóż, przypuścmy,
że zakładamy sobię bazę danych metodą tradycyjną - czyli :

  1. <?php
  2.  if (!http://www.php.net/file_exists('test/dane.db'))
  3.  {
  4.  $baza=sqlite_open("test/dane.db");
  5.  qlite_query($baza, "CREATE TABLE .........
  6.  }
  7. ?>


to prawa dostępu ze strony użyszkodnika są dość .... nieciekawe
-rw-r--r-- 1 nobody 5120 2006-04-20 06:49 dane.db

Czyli zbyt wiele nie stoi na przeszkodzie pobraniu całej bazy z www na dysk
gdy jakos uda trafic sie nam na nazwe i loklaziacje bazy danych ( co w projektach
opensource / gpl nie jest rzecza trudna ), a nie wszedzie da sie zapisac baze
poza katalogiem strony... Ja czegos nie wiem , czy moje obawy sa slusze ?

Napisany przez: dawijanii 25.04.2006, 18:00:05

Bezpieczeństwo zależy od administratora oraz od programisty czy zabezpieczysz sie czy nie twoja sprawa. Ja stosuje parę trików:

Do htaccess dodajesz cos takiego

<Files ~ "^.*\.(inc|tpl|db|sqlite|htaccess)$">
Order allow,deny
Deny from all
</Files>

Co pozwala mi się czuć w miarę bezpiecznie - indexowanie wystarszy puścić query do google ~.db ... i jest tam masa projektów z aps może juz niedługo db.sqlite ;-)

Następnie przy łączeniu sie z bazą możesz wybrać tylko do odczyt:

$db = sqlite_open('/home/w3/main.db','0666');

W mysql dobrze trzymać pliki z hasłami poza witrynom w Sqlite najlepiej baze, jest także płatna modyfikacja która potrafi szyfrowanie bazę sqlite ale to stosują już tylko masochiści ;-)

Sqlite fajna sprawa lecz pamiętam moje początki gdy 100Mb baze tworzyłem 3godziny gdyż nie znałem magicznego polecenia BEGIN; Czy END; teraz to juz idzie bardziej sprawnie.

Wracając do tematu sqlite to młody projekt trzeba radzic sobie samemu a PHP5 nie obsługuje w pełni jeszcze sqlite3 nad czym ubolewam. Przez co musiałem troche sie napisać masa z tym było roboty lecz teraz praca z sqlite to sama przyjemność no może ograniczenie da 1Mb row w wersji sql2 może trochę denerwować . Jedyny plus jest taki iz przy sql injection nie trzeba sie bawić z Union biggrin.gif

Napisany przez: Bastion 26.04.2006, 07:52:37

Wiec jedyne sposoby to

- trzymanie bazy poza katalogiem strony www ( co nie zawsze jest mozliwe )
- pliki htaccess

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)