2008-08-07 18 views
13

Chcę uzyskać dodatkowe zabezpieczenia dla określonego punktu w mojej aplikacji internetowej. Dlatego chcę zablokować bazę danych (SQL Server 2005). Wszelkie sugestie czy jest to nawet konieczne z SQL Server?Blokowanie bazy danych SQL Server za pomocą PHP

Edycja na pytanie:

Kwerenda się niepowodzeniem po cichu bez komunikatów błędów rejestrowane i nie występuje wewnątrz transakcji.

Ostateczne Rozwiązanie:

nigdy nie udało mi się rozwiązać ten problem, jednak to, co robi nawinięta została włączeniu do MySQL i przy użyciu kwerendy poziomie transakcyjnym tu górę. To nie był główny, a nawet główny powód do zmiany. Miałem problemy z SQL Serverem i pozwalało mi mieć nasz CMS i różne inne narzędzia działające w tej samej bazie danych. Wcześniej mieliśmy serwer SQL i bazę danych MySQL, aby uruchomić naszą witrynę. Port był nieco czasochłonny, ale na dłuższą metę uważam, że będzie on działał znacznie lepiej dla strony i firmy.

+0

> nie wstawiono, gdy dwie osoby próbowały wstawić naraz. Co to jest komunikat o błędzie, który otrzymujesz w przypadku awarii? – KyleLanser

+0

Brak komunikatu o błędzie. –

Odpowiedz

7

Przypuszczam, że masz trzy opcje.

  1. Ustaw uprawnienia użytkownika, aby użytkownik x mógł czytać tylko z bazy danych.

  2. Ustaw bazy danych w trybie pojedynczego użytkownika, więc tylko jedno połączenie może uzyskać do niego dostęp

    procedury sp_dboption 'myDataBaseName', singiel, prawda

  3. Ustaw bazę danych tylko do odczytu

    procedury sp_dboption 'myDataBaseName' tylko do odczytu, prawda

2

Nigdy nie byłem w stanie rozwiązać problemu, jednak to co zrobiłem zakończyło się przełączanie na MySQL i używanie tu zapytania poziomu transakcyjnego. To nie był główny, a nawet główny powód do zmiany. Miałem problemy z MSSQL i to pozwoliło mi mieć nasz CMS i różne inne narzędzia działające w tej samej bazie danych. Wcześniej mieliśmy bazę danych MSSQL i bazę danych MySQL, aby uruchomić naszą witrynę. Port był nieco czasochłonny, ale na dłuższą metę uważam, że będzie on działał znacznie lepiej dla strony i firmy.