Gdzie umieszczasz ustawienia połączenia dla połączenia z bazą danych (takie jak host, nazwa db, użytkownik, hasło)? Czy jest umieszczony w klasie lub pliku bazy danych, czy poza nim w pliku konfiguracyjnym, czy gdzieś indziej?Gdzie umieścić ustawienia połączenia z bazą danych?
Odpowiedz
Można to zrobić na wiele sposobów, ale powszechne jest umieszczenie go w pliku ustawień i pozostawienie tego pliku poza serwisem internetowym, aby informacje o haśle bazy danych nie mogły przypadkowo przedostać się do sieci.
Idealnie należy umieścić go w pliku konfiguracyjnym, który może być czymś tak prostym jak tablica PHP.
Na przykład: db_config.php
$db_config = array(
'host' => 'localhost',
'user' => 'username',
'password' => 'qwerty'
);
Następnie należy umieścić ten plik spoza głównego dokumentu dla maksymalnego bezpieczeństwa. W ten sposób, jeśli Twój webhost zawiedzie i rozpocznie serwowanie plików PHP w postaci plików tekstowych (dzieje się), nikt nie może uzyskać twoich referencji DB.
Cześć dziękuję za odpowiedź. Czy byłoby to realizowane globalnie, czy też byłoby coś innego. –
@DaryllSantos Należy dołączyć plik, gdy jest to potrzebne. – xbonez
Istnieje wiele sposobów, robią to, ale robię to w ten sposób przez Definiowanie stałych:
Create a config/db.php
<?php
define('DB_INFO','mysql:host=localhost;dbname=test');
define('DB_USER','root');
define('DB_PASS','');
dla PostgreSQL, bardzo lubię używać pg_service.conf
. To pozwala mi umieścić wszystkie ustawienia dotyczące połączenia (nazwa hosta, nazwa bazy danych, nazwa użytkownika, hasło, itp.) W ~/.pg_service.conf
lub /etc/postgresql-common/pg_service.conf
i nadać im wspólną nazwę (nazwę usługi).
Teraz każdy program (Perl, PHP itp.), Który chce się połączyć z bazą danych, może po prostu określić "service=name"
jako ciąg połączenia - ładny, czysty, bezpieczny i łatwy w utrzymaniu.
O ile mi wiadomo, MySQL ma podobny mechanizm dla plików ~/my.cnf
lub /etc/my.cnf
- możesz zajrzeć do tego.
- 1. gdzie zmienić ustawienia połączenia z bazą danych w Orchard MVC CMS
- 2. gdzie umieścić poufnych informacji z bazy danych
- 3. Informacje dotyczące połączenia z bazą danych
- 4. Zamknij połączenia z bazą danych po nieaktywności
- 5. Błąd połączenia z bazą danych Azure.
- 6. Gdzie umieścić ciąg połączenia w pliku web.config
- 7. Szyny - gdzie umieścić pliki danych?
- 8. Brak połączenia z bazą danych przez doktrynę w Symfony
- 9. opublikować projekt z lokalną bazą danych
- 10. Nie mogę utworzyć połączenia z bazą danych dla Doctrine2 w Symfony2 z MAMP (odmówiono połączenia)
- 11. Kiedy Entity Framework otwiera i zamyka połączenia z bazą danych?
- 12. Fabryka modeli Laravel bez połączenia z bazą danych
- 13. Jak utworzyć odtwarzalny przykład połączenia z bazą danych?
- 14. Laravel - zmiana domyślnego połączenia z bazą danych na całym świecie
- 15. Ponowne otwarcie połączenia z bazą danych w Javie
- 16. Jak zdefiniować dwa połączenia z bazą danych MySQL w Sails.js
- 17. Użyj Require_once(), aby poprawnie uwzględnić zmienne połączenia z bazą danych
- 18. Tworzenie oddzielnego połączenia z bazą danych dla każdego pracownika selera
- 19. Firebase jednoczesne połączenia w czasie rzeczywistym z moją bazą danych
- 20. Gdzie umieścić próbę/catch przy użyciu IDisposable
- 21. MVVM gdzie umieścić warstwę dostępu do danych?
- 22. Gdzie umieścić próbę złapać
- 23. tropienia połączenie z bazą danych wydaje
- 24. Próbki WPV MVVM z bazą danych
- 25. Problemy z instalacją ExpressionEngine: Błąd połączenia z bazą danych na Localhost
- 26. Tworzenie lokalnego połączenia między bazą danych mysql a php
- 27. Transakcja z bazą danych Magento
- 28. Testowanie phpunit z bazą danych
- 29. Tabela z trójwymiarową bazą danych
- 30. Heroku z bazą danych H2
To zależy od twojej implementacji ... Możesz umieścić plik ustawień, aby móc go dostosować w dowolnym momencie. lub jeśli kochasz OOP, możesz również użyć klasy .. , ale prawdopodobnie użyłeś pliku ustawień. – Pratik
Zwykle umieszczam go w pliku poza katalogiem głównym, a następnie dołączam go do dowolnej aplikacji, w której go potrzebuję. Dzięki temu jest on bardziej bezpieczny od przypadkowego kontaktu z internetem i pozwala aplikacjom wielokrotnym używać tych samych ustawień, w których zmiana tego jednego pliku spowoduje, że wszystkie ustawienia aplikacji db staną się aktualne. –