Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] Wymiana danych między serwisami
Forum PHP.pl > Forum > PHP
wojtekkk87
Witam,
Mam nadzieje że zadając to pytanie nie zostane od razu wyśmiany i odesłany do wyszukiwarki...

Tworzę komponent dla Joomla. Komponent ten będzie miał za zadanie pobierać pewne dane które są zapisane w bazie serwisu A. Jeśli miał by tylko pobierać dane to by chyba nie było coś skomplikowanego chodzi o to że te dane które są w serwisie A mogą być udostępniane jedynie wybranym stronom www. Teraz moje pytanie:

w jaki sposób zrealizować odwołanie się do bazy danych (a może do pliku tworzonego dynamicznie) serwisu A oraz w jaki sposób sprawdzić czy serwis kliencki ma prawo uzyskać dostęp do tych danych? Dane tego serwisu będą również w bazie danych. Będzie tam jego adres. A w wierszach tabeli z której może pobierać dane będzie ID przypisane danemu adresowi. Serwis kliencki będzie mógł u siebie wyświetlać tylko te wiersze z tabeli w serwisie A które zawierają ID tego serwisu.

Mam nadzieje że wyraziłem się dość jasno;/ I że mnie zrozumiecie. Z góry dziękuje za jakiekolwiek odpowiedzi.
trucksweb
to jak chcesz stworzyc komponent jak podstaw nie znasz dry.gif

popatrz sobie jak w innych komponentach rozwiazane jest pobieranie danych z bazy, nie musisz sie tym wzorowac, mozesz pisac klasycznie lub po swojemu- robisz polaczenie z baza, potem select itp.
wojtekkk87
Eh... jednak źle sformuowałem pytanie;/

Nie zrozumiałeś mnie!

Główny problem to to że jest jeden serwis główny i kilka innych które chcą współpracować. Głównie chodzi mi o weryfikowanie czy serwis który chce się odwoływać do tego serwisu głównego musi zostać zweryfikowany najlepiej po adresie. I chodzi mi o to jak tej weryfikacji dokonać oraz jak udostępniać te dane serwisom klienckim.

Gdybym dał mu dane użytkownika tylko do odczytu dla bazy danych to tak czy inaczej po modyfikacji by swojego kodu mógłby pobierać zmoich tabel to co chce. A tak być nie może. Pobierać może dane tylko takie jak pozwoli mu administracja serwisu głównego.
isso
przeciez ;] Ty im udostepnisz baze... wiec beda musieli dostać od Ciebie login i hasło to moga zdalnie podłączać się do bazy danych... chyba nie ma w tym problemu ?
wojtekkk87
eh... czy ja naprawde tak zle formułuje moje wypowiedzi?;/

przecież pisałem że gdy udostępnie im dane do bazy ludzie mając ten komponent nie będą mieć problemu żeby pytanie

SELECT description FROM #__mojatabela WHERE url_id=3

zmienić na

SELECT * FROM #__mojatabela
więc chodzi o jakąś autoryzacje po urlach najlepiej. I sposób taki żeby nie mogli użytkownicy wyciagnąć z bazy wszystkich danych.
wujko_thc
Cytat(wojtekkk87 @ 8.04.2008, 19:18:59 ) *
eh... czy ja naprawde tak zle formułuje moje wypowiedzi?;/

przecież pisałem że gdy udostępnie im dane do bazy ludzie mając ten komponent nie będą mieć problemu żeby pytanie

SELECT description FROM #__mojatabela WHERE url_id=3

zmienić na

SELECT * FROM #__mojatabela
więc chodzi o jakąś autoryzacje po urlach najlepiej. I sposób taki żeby nie mogli użytkownicy wyciagnąć z bazy wszystkich danych.


To nie dawaj bezposredniego dostępu do bazy (co moim zdaniem, wogóle nie jest dobrym pomysłem), a
zrobób formularz do generowania zapytań. Wynik natomiast wrzucić sobie np.biggrin.gifo xml'a albo csv.
Nikt w ten sposób nie będzie mógł buszować po bazie smile.gif
Co do logowania to:
- możesz sprawdzać skąd było przekierowanie na stronę logowania
- sprawdzać IP
- prosić o token
- po zalogowaniu wysyłać na maila link aktywujący wejście do dalszej części serwisu
wojtekkk87
No właśnie chodzi o to żeby nie przekierowywać na moją strone ale ta strona która pobiera dane odemnie wyświetla je u siebie... jak sobie z tym poradzić?:/
Sedziwoj
Cytat(wojtekkk87 @ 9.04.2008, 23:06:08 ) *
No właśnie chodzi o to żeby nie przekierowywać na moją strone ale ta strona która pobiera dane odemnie wyświetla je u siebie... jak sobie z tym poradzić?:/


A ja bym chciał aby mój samochód latał, jak sobie z tym poradzić?

Jak masz złe założenia to rozwiązania nie znajdziesz, jedynym sensowną rzeczą jest dane każdemu serwisowi login i hasło do tego ograniczenie dostępu do wybranych IP i nadawanie odpowiednich uprawnień widokom. W widoku zamykasz ograniczenie dostępu (a jak masz PostgreSQL dodajesz odpowiednią RULE i masz do zapisu).
Drugim rozwiązaniem jest zaproponowana przez wujko_thc komunikacja nie bezpośrednio z bazą a z "inną aplikacją" (np. SOAP ;] )
Sabistik
Dokładnie. Nie wiem po co ta cała dyskusja. Jedne dobre rozwiązanie to webserwice i SOPA, XRPC
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.