Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Pobieranie informacji do połaczenia z baza
Forum PHP.pl > Forum > Przedszkole
molesta
Witam

Mam pytanie

Czy możliwe jest pobieranie ze zdalnego serwera pliku connect.php (zawierajacego adres hosta, login, hasło do bazy)?

A jeśli tak to powinno wyglądac...nigdzie niestety nie znalazłem informacji na ten temat

Bardzo prosze o jakieś wskazówki jesli to możliwe
pyro
można np. za pomocą FTP
sniezny_wilk
Rozumiem, że chciałbyś jakoś z innego pobrać dane do połączenia z bazą danych i włamać się do bazy smile.gif ? Nie ma tak łatwo, nie możesz pobrać źródła plików .php, bo są wykonywane po stronie serwera.
molesta
a wy tam zaraz wlamanie......poprostu chodzi mi o to abyplik connect.php znajdował sie na zdalnym serwerze aby nie było możliwości podgladu loginu i hasła do bazy danych w źródle
pyro
jak już powiedziałem, można za pomocą ftp...
sniezny_wilk
Cytat(molesta @ 30.05.2008, 13:45:29 ) *
a wy tam zaraz wlamanie......poprostu chodzi mi o to abyplik connect.php znajdował sie na zdalnym serwerze aby nie było możliwości podgladu loginu i hasła do bazy danych w źródle


jeśli plik będzie zapisany jako php i dane będą w zmiennych to nawet jak plik będzie u Ciebie na serwerze to nie będzie możliwości podglądu smile.gif
molesta
No dobra to oże innaczej biggrin.gif

Mam kod connect.php
  1. <?php
  2. function connection() { 
  3.      $mysql_server = &#092;"localhost\"; 
  4.      
  5.     $mysql_admin = &#092;"uzytkownik\"; 
  6.      $mysql_pass = &#092;"haslo\"; 
  7.      $mysql_db = &#092;"baza_danych\"; 
  8.      
  9.     @mysql_connect($mysql_server, $mysql_admin, $mysql_pass) 
  10.     or die('Brak połączenia z serwerem MySQL.'); 
  11.      
  12.     @mysql_select_db($mysql_db) 
  13.     or die('Błąd wyboru bazy danych.'); 
  14. } 
  15.  
  16. ?>


i plik w którym chciałbym go wywołać
  1. <?php
  2.  require &#092;"connect.php\"; 
  3.  connection(); 
  4.  
  5. ?>


Nie za bardzo wiem jak powinienem wywołać ten plik connect.php ze zdalnego serwera
webdice
Nie da się tak. Daj sobie z tym spokój. Czemu nie możesz mieć pliku connection.php u siebie na serwerze?
pyro
molesta, masz jakieś cholerne klapki na oczach? Zrób to za pomocą ftp, a jak chcesz sie dowiedziec jak to zrobic to gotowe masz w komentarzach na php.net


// W tym momencie przesadziłeś, piszesz trzeciego posta o tym samym.
// Jakby autor chciał to by z tego skorzystał. Dostajesz ostrzeżenie.
// ~webdicepl


<jupi> warn
molesta
Cytat(webdicepl @ 30.05.2008, 15:54:07 ) *
Nie da się tak. Daj sobie z tym spokój. Czemu nie możesz mieć pliku connection.php u siebie na serwerze?


Nie moge ponieważ jest to element zabezpieczenia skryptu

Raczej nie wskazane aby w źródle był podgląd do połączenia z bazą w której zawarte sa licencje użytkowników
webdice
W jakim źródle? Nie można sobie tak po prostu podglądnąć źródła pliku PHP.
Shili
W żadnym źródle nic nie ma. PHP jest wykonywany po stronie serwera, więc to co się za jego pomocą wygeneruje nie będzie zawierało w sobie żadnych danych do połączenia z bazą!

Sprawdź sobie sam ;]
molesta
Nie rozumiecie mnie...skrypt jest sprzedawany wiec osoba zakupujaca ma wgląd w źródła .Jeśli w źródłach które dostaje klient bedą dane do bazy w której znajdują się dane innych klientów i ich kody licencyjne to sami pomyślcie,.,

A czy dobrym rozwiazaniem będzie include zdalnego pliku connect.php ?
Shili
To sprzedawaj z przykładowymi danymi, niech sobie sami bazę tworzą a nie korzystają z Twojej?
molesta
Cytat(Shili @ 30.05.2008, 16:10:02 ) *
To sprzedawaj z przykładowymi danymi, niech sobie sami bazę tworzą a nie korzystają z Twojej?


Nadal nie rozumiesz:D baza ma służyć do autoryzacji i potwierdzenia aktywacji licencji użytkowników
pyro
no to musiałbyś includować pliki tekstowe, które se normalnie można zobaczeć... plików php byś nie mógł includować, bo są wykonywane po stronie serwera, mógłbyś zrobić jakiś algorytm szyfrujący,ale jak ktoś by miał dużo ( w zależności od mocy szyfrowania) wolnego czasu i chęci to i tak mógłby to rozszyfrować
molesta
Cytat(pyro @ 30.05.2008, 16:14:19 ) *
no to musiałbyś includować pliki tekstowe, które se normalnie można zobaczeć... plików php byś nie mógł includować, bo są wykonywane po stronie serwera, mógłbyś zrobić jakiś algorytm szyfrujący,ale jak ktoś by miał dużo ( w zależności od mocy szyfrowania) wolnego czasu i chęci to i tak mógłby to rozszyfrować


To może jeszcze inne pytanie...czy jest jakiś sposób na zabezpieczeniem skryptu przez nie autoryzowanym rozpowszechnianiem?

100 % niezawodnego napewno niema ale może jest jakiś sposób w miare sensowny
pyro
może funkcje sprawdzające posiadanie licencji + sourceguardian?
webdice
Sprawa wygląda tak: jeśli skrypt ma dostęp do jakiegoś pliku, to użytkownik może sobie z tym zrobić co chce. Koniec kropka.
molesta
No wiec własnie nie biggrin.gif

Sprawe rozwiazałem .....kupiłem wlaśnie ionCube Pro 760 zł to nie wielkie pieniadze w porównaniu ze stratami jakie poniose z powodu trafienia aplikacji na warez
Niestety w polsce świadomość własności intelektualnej nie istnieje biggrin.gif
Shili
Zakupiony kod zawsze w ostateczności można tak przerobić, żeby działał bez żadnych zabezpieczeń. Jednym z sensownych (pod względem bezpieczeństwa oczywiście) rozwiązań jest udostępnianie klientom Twoich skryptów razem z kontami na swoim hostingu, w ten sposób, że nie mają dostępu do kodu źródłowego. Innym ukrywanie kodu (PHP Encoder na przykład). Możesz wysyłać do siebie po takim kodowaniu mało kto natrafi (emaila z danymi gdzie skrypt jest instalowany). Względnie faktycznie napisać własne szyfrowanie. W sieci jest też Solace script maze. I co ważne - odpowiednia licencja, chociaż nie zabezpiecza tak naprawdę w żadnym stopniu, ale daje możliwość dochodzenia swoich własności.

Tudzież zrób to na osobnej bazie, z jedną tabelą (klucz, identyfikator, cośjeszcze) - tabelę na przykład raz dziennie zaimportujesz na inny serwer i na tym innym serwerze będziesz sprawdzał integralność itd. A użytkownikom odbierz prawa do wykonania jakichkolwiek działań prócz selectów na niej, minus jest taki, że z uprzywilejowanego konta będziesz musiał dodawać wszystko ręcznie ^^
molesta
poprostu zaszyfruje ioncubem pliki dotyczace połączenia z baza i innych aby nikt nie grzebał a zostawie tylko te w których zezwalam na customizacje i tyle
sniezny_wilk
Ja tylko nie rozumiem dlaczego kupujący nie będzie mógł skorzystać z własnej bazy, tylko akurat w Twojej będzie musiał składować dane.
l0ud
Kod
poprostu zaszyfruje ioncubem pliki dotyczace połączenia z baza i innych aby nikt nie grzebał a zostawie tylko te w których zezwalam na customizacje i tyle


Co nie zmienia faktu, że dalej nie zabepieczy Cię to NIC przed ew. włamaniem do bazy i ściągnięciem dowolnych informacji. Kwestia wydobycia danych do bazy z obojętnie czy zaszyfrowanego skryptu php - czy nie, to kwestia kilku minut.
Napisz dokładniej na czym ma polegać to zabezpieczenie, to na pewno wymyśli się coś lepszego smile.gif
molesta
klinent instalujac skrypt musi posiadać własną baze ....chodzi mi tylko o to aby zrobic system autoryzacji/sprawdzania licencji w mojej bazie danych tak aby skrypt był  mozliwy do uruchomienia tylko w jednej kopii. Nie chce doprowadzić do tego że skrypt szybko się rozejdzie na warezie powodując tym samym straty finansowe mojej firmy
l0ud
Do każdego egzemplarza skryptu wypisujesz jego kod identyfikacyjny - najlepiej dość długi. Później, przy instalacji (pierwszym uruchomieniu) program łączy się z odpowiednim skryptem na Twoim serwerze (metodę łączenia pozostawiam Tobie - chociażby zwykłe file_get_contents()) podając mu swój identyfikator. Skrypt na Twoim serwerze sprawdza, czy dany identyfikator istnieje w bazie danych i czy jest aktywowany - jeżeli tak, zwraca pozytywny wynik co pozwala zainstalować się temu po stronie użytkownika. Po poprawnej instalacji skrypt usera jeszcze raz łączy się z Twoim, aby oznaczyć jego kod identyfikacyjny jako 'zainstalowany, nieaktywny'.

Tak najprościej można to zrobić, choć niestety scrackować to łatwo.
rzymek01
taka autoryzacja nic nie da,
wystarczy przejrzeć kod instalacyjny lub poświęcić trochę czasu na zrobienie struktury bazy danych na podstawie zapytań, do których źródeł klient ma dostęp i na tej podstaiwe stworzyć swoją

i warez się rozchodzi :-)

edit: nie ma idealnego zabezpieczenia, szczególnie jeśli chodzi PHP
dobrym przykładem są gry, które są plikami binarnymi, a i tak ktoś zdebuguje, przemieni kilka linijek kodu i gra działa
pyro
Cytat(l0ud @ 30.05.2008, 19:49:15 ) *
Kod
poprostu zaszyfruje ioncubem pliki dotyczace połączenia z baza i innych aby nikt nie grzebał a zostawie tylko te w których zezwalam na customizacje i tyle


Co nie zmienia faktu, że dalej nie zabepieczy Cię to NIC przed ew. włamaniem do bazy i ściągnięciem dowolnych informacji. Kwestia wydobycia danych do bazy z obojętnie czy zaszyfrowanego skryptu php - czy nie, to kwestia kilku minut.
Napisz dokładniej na czym ma polegać to zabezpieczenie, to na pewno wymyśli się coś lepszego smile.gif


Nie przesadzaj l0ud, rozszyfrowanie tego co robią płatne cryptery skryptów (nie wiem jak jest z ionCube) to nie kwestia kilku minut tylko jak ktoś jest ekspertem w dziedzinie szyfrowania to by musiał spędzić nad tym ładnych pare dni, jest to swego typu zabezpieczenie, bo np. mi osobiście by się poprostu nie chciało za to brać tongue.gif, jednak czy skrypt jest wtedy bezpieczny? - NIE
l0ud
pyro, niekoniecznie trzeba nawet rozszyfrowywać ten skrypt. Można przecież nawet nałożyć 'nakładkę' na PHP, która będzie wykrywała z jakimi parametrami jakie funkcje zostają wywołane. Albo sniffować ale nie jestem pewien, bo połączenia z bazą są raczej szyfrowane...
Tak czy siak dla chcącego nic trudnego, i to bez wglądu na kod smile.gif
pyro
Cytat(l0ud @ 1.06.2008, 10:20:37 ) *
pyro, niekoniecznie trzeba nawet rozszyfrowywać ten skrypt. Można przecież nawet nałożyć 'nakładkę' na PHP, która będzie wykrywała z jakimi parametrami jakie funkcje zostają wywołane. Albo sniffować ale nie jestem pewien, bo połączenia z bazą są raczej szyfrowane...
Tak czy siak dla chcącego nic trudnego, i to bez wglądu na kod smile.gif


taaa...? a znasz taką nakładkę?
l0ud
Tak. Xdebug z xdebug.collect_params ustawionym na co najmniej 3. W wygenerowanym logu widać wszystkie funkcje, a więc też mysql_connect z wszystkimi danymi.

http://xdebug.org/docs/execution_trace
pyro
fajny ale loguje tylko użycia funkcji ;/
l0ud
Cytat
fajny ale loguje tylko użycia funkcji ;/


Loguje wszystko co jest potrzebne do uzyskania takiego hasła...
pyro
Cytat(l0ud @ 1.06.2008, 23:01:28 ) *
Loguje wszystko co jest potrzebne do uzyskania takiego hasła...


juz nie chodzilo mi o samo zdobycie hasla tylko ile on moze rozszyfrowac tongue.gif
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.