![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
Cześć!
W moim życiu pojawił się następujący problem. Otóż chcę uruchomić kopię swojego serwisu na innym fizycznym serwerze (kolegi). Serwis korzysta z bazy MySQL, która jest na moim serwerze i łączy się standardowo z bazą za pomocą mysql_connect(). Otóż chce w kopi u kolegi pobrać newsy z mojej bazy danych, ale na serwerze kolegi muszę się połączyć z moją bazą danych. Jak się połączyć (w jaki sposób), aby kolega nie miał dostępu do danych dostępowych do bazy (login i hasło)? Bo jak w skryptach na jego serwerze zastosuje jawnie mysql_connect() i podam login i hasło to będzie mógł mi się włamać do mojej bazy a tego raczej bym nie chciał... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 436 Pomógł: 6 Dołączył: 8.11.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić plik XMl, w którym będą te newsy będzię dynamicznie zmienana treść pliku jeżeli dodasz newsa. Wtedy tylko odczytujesz na innym serwerze. Albo można wykorzystać JavaScript.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak, ale nie wiem czy jest to wystarczająco bezpieczne:
na swoim serwerze w pliku news.php połączyłem się ze swoją bazą danych a w skrypcie u kolegi includowałem news.php i newsy się wyświetlają, bezpośredniego dostepu do danych kolega nie ma. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Sądzę, że to nie jest dobre rozwiązanie.
Dlaczego? Ponieważ zawsze można zrobić [php:1:9bb44ef89e]<?php var_dump( $GLOBALS ) ?>[/php:1:9bb44ef89e] i odczytać wszystkie informacje na temat zmiennych wykorzystanych w skrypcie. Co prawda można by się było przed tym zabezpieczyć w ten sposób, że haseł i loginu nie zapisujesz w zmiennej, tylko bezpośrednio przekazujesz do funkcji, ale tak czy inaczej, dajesz komuś nieogranioczony dostęp do bazy. Dlatego w takim przypadku najlepszym rozwiazaniem jest to wpomniane wyżej, czyli - ty przygotowujesz skrypt, który pobiera z bazy dane i zwraca jest w postaci xml - kolega pobiera plik xml. i z niego odczytuje dane. Dobrze by tylko było do tego dodać obustronne cachowanie, tak by ta operacja nie musiała zachodzić przy każdym przeładowaniu strony. ps. temat przenosze z pro -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Przeniesione: Pro => php
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
mugłbyś wyjaśnić jak includiwałeś skrypt? przecież musi server kolegi załadować jakos ten news.php - czyli ma do niego PEŁNY dostęp.
lepiej byś zrobił nowego usera w bazie danych, pszypożądkował byś mu bazę i prawa do niego i skopiował tam newsy. edit: widzę że sie spuźniłem:) ale z 2 bazą danych wydaje mi się leprze podejście. otóż jest małe uniedogodnienie: jak się coś zmieni. ale to rozwiązałbym tak: jak dodaje newsa twój skrypt to dodaje go do 2 baz, a jak dodaje news kolega to twój skrypt sprawdza pszy wyświetlaniu różnicę i ładuje z bazy kolegi potrzebne newsy. jeszcze jedno przychodzi mi na myśl: ale nei wiem czy się da. stworzyć usera tylko z prawami odczytu i zapisu tylko do wybranej tabeli |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sądzę, że to nie jest dobre rozwiązanie.
Dlaczego? Ponieważ zawsze można zrobić [php:1:f41223d812]<?php var_dump( $GLOBALS ) ?>[/php:1:f41223d812] i odczytać wszystkie informacje na temat zmiennych wykorzystanych w skrypcie. Co prawda można by się było przed tym zabezpieczyć w ten sposób, że haseł i loginu nie zapisujesz w zmiennej, tylko bezpośrednio przekazujesz do funkcji, ale tak czy inaczej, dajesz komuś nieogranioczony dostęp do bazy. Dlatego w takim przypadku najlepszym rozwiazaniem jest to wpomniane wyżej, czyli - ty przygotowujesz skrypt, który pobiera z bazy dane i zwraca jest w postaci xml - kolega pobiera plik xml. i z niego odczytuje dane. Dobrze by tylko było do tego dodać obustronne cachowanie, tak by ta operacja nie musiała zachodzić przy każdym przeładowaniu strony. ps. temat przenosze z pro No ok. Rozumiem. Tylko co jeśli ktoś nie zna XML'a? Może wiesz gdzie mogę o tym dokładnie poczytac? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
jest odpowiednia kategoria na tym forum zwana "xml" tam w "Tematyka i zasady panujące na forum XML" masz parę fajnych linków, m.in. kurs xmla
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 15.09.2003 Skąd: Polska / Płock Ostrzeżenie: (0%) ![]() ![]() |
Cytat jest odpowiednia kategoria na tym forum zwana "xml" tam w "Tematyka i zasady panujące na forum XML" masz parę fajnych linków, m.in. kurs xmla
Dzia MB |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Dzia
MB nie rozumie tych młodzieżowych skrótów:P |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
A jak ktoś nie zna xml, i bardzo nie chce go poznać, to zawsze jeszcze zostaje WDDX Functions które zrobią to właściwie za niego.
-------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 19.08.2003 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej stworzyć w MySQL usera, który miałby dostęp do jakieś bazy i dać mu uprawnienia SELECT i tyle :-)
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
no właśnei to miałem na myśli:)
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
lojej ... po co na sile XML? zrob sobie to na plikach txt i tez ci to bedzie chodzic... pewnie i o wiele szybciej ... niz sam parser XML'a
sie upieracie przy tym XML ... wiem zarabista sprawa ale w tej sytuacji to jest wrecz zbyteczne bo gdziez on bedzie te newsy przenosil jeszcze. XML mysle traktuje sie jako cos przenosnego a nie bazodanowego z tego co wiem. -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
hmm - a znasz coś bardziej przenośnego, niż komunikacja między 2 komputerami przy pomocy internetu?
Jak tu nie warto wykorzystywać xml, to kiedy? Tym bardziej, że oba skrypty są pisane przez innych ludzi... -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
deyv - zmusiles mnie do uwazniejszego przeczytania pierwszego posta. Zmieniam zdanie i odpowiadam:
TAK XML to rozwiazanie warte uzycia. A gdzie byl moj blad? Myslalem, ze serwer 1 ma baze a takze skrypt z newsami a serwer 2 ma tez skrypt z newsami ale ma je wyswietlac z plikow a nie z bazy ... -------------------- Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 300 Pomógł: 1 Dołączył: 22.09.2003 Skąd: Czeladź Ostrzeżenie: (0%) ![]() ![]() |
a ja i tak uważam że lepiej by stworzyć nowego usera
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 10:25 |