Skocz do zawartości
Zaloguj się, aby obserwować  
ednet

Wstawki kodu w CMSie niedostępne przez FTP

Polecane posty

mam pozycjonowac jedną strone i konieczne będzie dodanie nowych bloków kodu do CMSa w PHP.

Klient jednak jest typu "pomysłowy Dobromir" i po moich poprawkach będzie chciał zrezygnowac z usługi zatrzymując moje modyfikacje. Nie chcę równiez serwować klientowi darmowego kursu pozycjonowania.

 

Aby temu zapobiec pomyslalem ze umieszcze moje kody w innym katalogu i je zaincluduję.

 

include "/path/kody.php";

 

Niestety przez włączony open_basedir nie można tego zrobic.

 

Czy jest inny sposób?

 

EDIT: Dodam ze mam dostęp do konta roota.

 

Ed

Edytowano przez ednet (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jakkolwiek byś próbował, to zawsze jeśli skrypt ma się wykonać, to użytkownik jakimś sposobem go sobie odczyta.

Jedynym chyba wyjściem jest zakodowanie plików z czasową licencją, a po otrzymaniu zapłaty podmiana na odkodowane bez limitów czasowych.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli klient nie jest jakiś pro z php to możesz napisać skrypt.

 

Dodajesz file_get_contents(adres.pl/twojplik.txt);

 

Sprawdzasz wynik , i jeśli np jest równy 1 to Ok , jeśli 2 to blokujesz strone , jesli 3 to usuwa kod z podanej strony.

 

Jeśli Cie wykiwa umieszczasz do swojego pliku tekstowego zawartość "3" a skrypt usuwa napisany przez Ciebie kod. Skrypt możesz dodatkowo zakodować , zabezpieczyć aby na pierwszy rzut oka nie był podejrzany.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dodajesz file_get_contents(adres.pl/twojplik.txt);

 

Klient moze odczytac tą instrukcję.

Dodam że zalezy mi na includowaniu kodu PHP.

 

Kodowanie ioncubem zalatwiloby sprawę ale nie chcę go kupować dla takiej sytuacji.

 

Ed

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak dla ustalenia uwagi:

- serwer jest Twój i masz na nim roota

- na tym serwerze działa CMS klienta, do którego klient ma wjazd po ftp

- chcesz tak zmodyfikować kod żeby klient nie wiedział co zrobiłeś

 

Rajt?

 

Postaw może po prostu drugą instancję tego CMSa _z_ Twoimi modyfikacjami i nie wpuszczaj tam klienta po ftp? Jak założysz repo gitowe w obu katalogach to merge'owanie nie powinno być specjalnie bolesne.

 

Albo wystaw swój kod jako webserwis generujący wstawki htmlowe zaciągane przez CMSa -- jeżeli Twoje zmiany ograniczają się do jednego dobrego miejsca w html to tak będzie chyba najprościej.

 

Inny szatański hack to proxy przepisujące html między CMSem a klientem (przeglądarką), ale w pewnym momencie musisz sobie zadać pytanie ile ten Twój kod jest wart i czy opłaca się go bronić jak niepodległości.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak dla ustalenia uwagi:

- serwer jest Twój i masz na nim roota

- na tym serwerze działa CMS klienta, do którego klient ma wjazd po ftp

- chcesz tak zmodyfikować kod żeby klient nie wiedział co zrobiłeś

 

Rajt?

Rajt, ofkors.

 

Postaw może po prostu drugą instancję tego CMSa _z_ Twoimi modyfikacjami i nie wpuszczaj tam klienta po ftp? Jak założysz repo gitowe w obu katalogach to merge'owanie nie powinno być specjalnie bolesne.

 

Albo wystaw swój kod jako webserwis generujący wstawki htmlowe zaciągane przez CMSa -- jeżeli Twoje zmiany ograniczają się do jednego dobrego miejsca w html to tak będzie chyba najprościej.

 

Inny szatański hack to proxy przepisujące html między CMSem a klientem (przeglądarką), ale w pewnym momencie musisz sobie zadać pytanie ile ten Twój kod jest wart i czy opłaca się go bronić jak niepodległości.

 

postawienie drugiego CMSa moze byc problematyczne, repo gita i proxy to faktycznie jak strzelanie z armaty do muchy.

 

Najlepszy i najprostszy sposób to includowanie pliku php spoza serwera wirtualnego klienta. Szkoda tylko ze funkcją phpa 'copy' - http://php.net/manual/en/function.copy.php mozna skopiowac moj plik na konto klienta :(

 

Ed

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak jak pisałem - ZAWSZE jeśli parser PHP ma odczytać ten plik, to i użytkownik w swoim środowisku też go odczyta.

Np. przez file_get_contents.

 

Odnośnie encodowania - http://www.ioncube.c...ine_encoder.php

 

QFT.

 

@ednet: a co z wystawieniem tego kodu jako (banalnie prosty) webserwis? W CMSie u klienta wstawiasz coś kalibru:

 

# może nie aż tak topornie ale ideę ilustruje
print file_get_contents('http://example.com/hiper-tajna-wstawka-seo.php?key=xxx');

 

 

a gdzieś_indziej (na example.com) udostępniasz kod, który weryfikuje klucz i jeżeli się zgadza, generuje html do wstawienia do oryginalnego dokumentu. Wtedy w kodzie klienta nie masz żadnych sekretów biznesowych (po zakończeniu współpracy klucz traci ważność bo zmieniasz walidację na serwerze) a jedynie wygenerowany html, który i tak jest jawny (w końcu idzie do przeglądarki).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Jeśli nie ufasz klientowi, to stosujesz koder.

2. Jeśli szkoda Ci kasy na koder, to znaczy, że zlecenie nie jest warte uwagi.

3. Jeśli się upierasz przy tym, żeby zlecenie wykonać, sporządź przed wykonaniem usługi umowę gwarantującą Ci zapłatę w przypadku wykorzystania przez klienta twojego kodu - jak klient będzie kombinował, to zostanie Ci sprawa sądowa i odzyskanie w ten sposób utraconych zysków.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

QFT.

 

@ednet: a co z wystawieniem tego kodu jako (banalnie prosty) webserwis? W CMSie u klienta wstawiasz coś kalibru:

 

# może nie aż tak topornie ale ideę ilustruje
print file_get_contents('http://example.com/hiper-tajna-wstawka-seo.php?key=xxx');

 

 

a gdzieś_indziej (na example.com) udostępniasz kod, który weryfikuje klucz i jeżeli się zgadza, generuje html do wstawienia do oryginalnego dokumentu. Wtedy w kodzie klienta nie masz żadnych sekretów biznesowych (po zakończeniu współpracy klucz traci ważność bo zmieniasz walidację na serwerze) a jedynie wygenerowany html, który i tak jest jawny (w końcu idzie do przeglądarki).

 

to moze byc bardzo dobry pomysl. musze poczyatac o webserwisach.

 

Ed

 

1. Jeśli nie ufasz klientowi, to stosujesz koder.

2. Jeśli szkoda Ci kasy na koder, to znaczy, że zlecenie nie jest warte uwagi.

3. Jeśli się upierasz przy tym, żeby zlecenie wykonać, sporządź przed wykonaniem usługi umowę gwarantującą Ci zapłatę w przypadku wykorzystania przez klienta twojego kodu - jak klient będzie kombinował, to zostanie Ci sprawa sądowa i odzyskanie w ten sposób utraconych zysków.

 

Zlecenie jest nieduze i niewarte kodera.

 

 

Ed

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

włączę się do tematu... a czy może ktoś zna przyzwoity sposób zabezpieczenia HTML? Słyszałem o "HTML Guardian" ale cóż...bez większych problemów źródło ich strony demo można odczytać poprzez konsolę www - w firefoxie - istnieje coś jeszcze?

 

choć intuicja mi podpowiada że nie da się zabezpieczyć obecnie HTML - wspomniana konsola po wykonaniu odpowiedniego polecenia wypluwa to co "renderuje" firefox a to już musi być czytelny HTML - ale może o czymś nie wiem?

Edytowano przez pietrovek (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

to moze byc bardzo dobry pomysl. musze poczyatac o webserwisach.

 

Określenie "webserwis" w tym przypadku jest mocno na wyrost i zagrzebiesz się w WSDLe, SOAPy i inne XMLRPC a gra jest zupełnie niewarta świeczki (z tego co mówisz). W tym przypadku wystarczy Ci skrypt kalibru:

 

<?php
if ($_GET['key']='bla_bla_bla') {
print '<div class="muthafuckin-seo-magic">...</div>';
} else {
die('GTFO');
}
?>

 

 

włączę się do tematu... a czy może ktoś zna przyzwoity sposób zabezpieczenia HTML? Słyszałem o "HTML Guardian" ale cóż...bez większych problemów źródło ich strony demo można odczytać poprzez konsolę www - w firefoxie - istnieje coś jeszcze?

 

choć intuicja mi podpowiada że nie da się zabezpieczyć obecnie HTML - wspomniana konsola po wykonaniu odpowiedniego polecenia wypluwa to co "renderuje" firefox a to już musi być czytelny HTML - ale może o czymś nie wiem?

 

Nie. Z definicji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

<?php
if ($_GET['key']='bla_bla_bla') {
print '<div class="muthafuckin-seo-magic">...</div>';
} else {
die('GTFO');
}
?>

 

super.

jeszcze da się ogranczenie w pliku http://example.com/hiper-tajna-wstawka-seo.php?key=xxx ze pokaze tresc tylko dla wywolan z IP serwera.

jak koles wpisze adres w przegladarke to nic nie zobaczy.

 

o to mi chodzilo.

 

Ed

Edytowano przez ednet (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×