Strona 1 z 1
[SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 10 kwie 2009, 19:03
autor: 17piotrek
Witam wszystkich:)
Mam pewien problem. Mianowicie, chciałbym dodać kod php do bazy danych, aby po pobraniu wykonał się. Np. w bazie danych:
a efekt to "aaa" na stronie. Jest to możliwe? Jesli tak to w jaki sposób dodać kod do bazy/jak pobrać gotowy skrypt, żeby wykonał się on u klienta?
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 10 kwie 2009, 19:47
autor: kamilsilver
Kod PHP zawsze wykonuje się po stronie serwera, klient dostaje tylko gotowy kod HTMLa.
Co do polecenia chodzi ci o to, że pliki php masz zapisane w bazie danych i chcesz, aby podczas wyświetlenia jakiejś strony (żądanie klienta), skrypt pobrał swój kod z bazy danych i je wykonał?
To raczej się nie wykona, bo serwer apache potraktuje kod jako surowy tekst z bazy.
Hmm, nie wiem do końca czy to jest wykonalne, poszukam w swoich źródłach (książki).
Nie lepiej zapisać kod w osobnych plikach i skorzystać z funkcji include()?
Na razie nic nie znalazłem, w ostateczności możesz zapisać zawartość z bazy do pliku i include.
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 10 kwie 2009, 20:00
autor: 17piotrek
Wiem, ze kod wykonuje sie na serwerze, ale myslalem, ze moze z bazy dostaje kod, ktory dopiero po analizie jest wysylany do klienta, czyli np. dostanie blok php i na biegu przetworzy go na html. Nie chodzi o strony, tylko o wstrzykniecie malego xss...
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 13:56
autor: dam
Jeśli dobrze rozumie to funkcja
eval powinna pomóc.
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 16:22
autor: 17piotrek
O ile dobrze zrozumialem tą funkcję, to powinno się jej użyć mniej więcej tak:
Kod: Zaznacz cały
while ($wynik = mysql_fetch_array($result))
{
eval $wynik['kolumna_z_zapytaniem'];
}
???
Ale ja nie mogę zmienić kodu strony, jedyne co mogę to umieścic zapytanie w bazie danych... Więc to pewnie nie jest możliwe? Chciałbym tak skonstruować zapytanie do bazy, żeby wypluła mi jakies wyniki przy odczytaniu tej tabeli, więc pewnie to niezbyt mozliwe?
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 19:27
autor: dam
Wydaje mi się że, to o czym piszesz nie jest możliwe.
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 19:43
autor: przemk
17piotrek pisze:Chciałbym tak skonstruować zapytanie do bazy, żeby wypluła mi jakies wyniki przy odczytaniu tej tabeli, więc pewnie to niezbyt mozliwe?
Wybacz, ale nie piszesz zbyt jasno. Napisz dokładnie (na przykładzie) co chcesz osiągnąć i co masz do dyspozycji
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 21:21
autor: kamilsilver
Czytając przemk twoją wypowiedź przypomniała mi się jedna stronka
http://rtfm.killfile.pl/ 
17piotrek napisz nam łopatologicznie w czym problem. Co dokładnie chcesz zrobić, co możesz, a co nie? Musimy wskoczyć jakoś na ten jadący pociąg.
XSS? czyli chcesz się włamać do czyjejś stronki? ;p Oj nie ładnie xD
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 21:51
autor: 17piotrek
Oki, sorki, juz pisze wyrazniej.
Mam przed soba baze danych z tabela uzytkownikow. Skrypt wstawiajacy nowego usera nie jest jednak zbyt dobrze skonstruowany. Moge wstawic PHP w czystej postaci, bez escapowania cudzyslowow itp np rekord:
wejdzie do bazy bez zadnych ukosnikow przy cudzyslowach itp. Podczas rejestracji mam tyle pol do wypelnienia, ze moge w partiach napisac skrypt, ktory pobierze mi wszystkich uzytkownikow z bazy i wyprintuje na ekran. Tylko nie wiem jak zrobic, aby kod, ktory bedzie pobrany z bazy byl wykonywany jako PHP a nie jako zwykly tekst. Jest to wykonalne? Bo tez mi sie wydaje ze nie - prawdziwy kod jest wykonywany po stronie serwera, to zas co jest wstawione do bazy jest wysylane do klienta jako tekst... Wpadlem na inny pomysl - napisac skrypt na zewnetrznym serwerze i dolaczyc jako kod javascript (< script src="" >) ale wykonuje on sie na serwerze z ktorego go zalaczam, a nie na tym na ktorym jest załączony. Ma ktos inny pomysl?
@kamilsilver - czego to sie nie zrobi wlasnemu nauczycielowi infy zeby nauczyl sie zabezpieczac strony.... No wybacz ale ile mozna:)
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 22:59
autor: kamilsilver
Ano jak stronę robi się na gorąco

Ale nauczyciel Informatyki? ;/ Zapodaj link do strony xD
Aż tak to się nie znam, dawno nie bawiłem się w PHP i MySQLa ;/
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 11 kwie 2009, 23:07
autor: 17piotrek
No raczej nie powinienem tego robic az nie zabezpieczy strony:P
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 12 kwie 2009, 09:12
autor: Jacob
Wybacz, ale temat ma już 10 postów, a ja dalej (i zapewne nie tylko ja) nie wiem, czego ty chcesz. Najpierw piszesz, że chcesz XSS, potem, żeby był wykonywany kod php ... to w końcu co?
"wejdzie do bazy bez zadnych ukosnikow przy cudzyslowach" - jeśli nie masz bezpośredniego dostępu do bazy, to skąd wiesz? bo jako output widzisz tekst "bez zadnych ukosnikow"? to o niczym nie świadczy. Poczytaj o addslashes() i stripslashes()
A jak XSS (standardowe: <script>alert("foo bar");</script>) nie działa, i jako output pokazuje: <script>alert("foo bar");</script> lub alert("foo bar"); to znaczy, że została użyta funkcja htmlspecialchars (w pierwszym wypadku), strip_tags (w drugim).
Na zakończenie: lepiej zabierz się do porządnej nauki PHP, a nie czytania setki tutków o XSS/SQL Injection ...
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 14 kwie 2009, 11:42
autor: 17piotrek
@Jacob - ja ten jezyk mam dobrze obczajony. Wiem co daja wszystkie funkcje o ktorych mowiles. A wstrzykniecie kodu (w tym przypadku PHP) tez bedzie XSS. Nie ma ani htmlspecialchars (JS wykonuje sie), ani escapowania cudzyslowow. Chodzilo mi o to czy da sie dodac taki wpis do bazy, zeby wykonal sie po pobraniu, np. wpisanie:
do przegladarki bylo wyslane "aaa", a nie kod php.
"wejdzie do bazy bez zadnych ukosnikow przy cudzyslowach" - jeśli nie masz bezpośredniego dostępu do bazy, to skąd wiesz? bo jako output widzisz tekst "bez zadnych ukosnikow"? to o niczym nie świadczy. Poczytaj o addslashes() i stripslashes()
Tutaj chodzi o to, ze wlasnie nie jest uzyta funkcja addslashes, kod jest wstawiany bez zmian do bazy; myslalem nad taką opcją, czy bylalby opcja zeby kod pobrany z bazy wykonal sie od razu, ale juz wiem ze nei jest to mozliwe.
Na zakończenie: lepiej zabierz się do porządnej nauki PHP, a nie czytania setki tutków o XSS/SQL Injection ...
O XSS i SQL injection wiem malo, wszystko co robie to na wlasnym doswiadczeniu i wlasnie wiedzy o php/sql...
No ale nie wazne, tak czy inaczej, zrobilem to w inny sposob, udalo sie. A ku podsumowaniu tematu - nie mozna kodu php tak wykonac, gdyz jest on raz przetwarzany na serwerze, a dane z bazy sa wysylane do uzytkownika jako html.
Odp: [PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 15 kwie 2009, 08:39
autor: przemk
Odp: [SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 15 kwie 2009, 11:58
autor: kamilsilver
Po prostu mi się przypomniała ta strona. Bo do końca nie zrozumiałem pierwszego pytania, było dla mnie lekko niezrozumiałe.
Wybacz, ale nie piszesz zbyt jasno
szczególnie te zdanie mi przypomniało ten tutorial
@17piotrek daj znać czy nauczyciel nauczył się zabezpieczać strony po twoim triku

Odp: [SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 15 kwie 2009, 14:46
autor: 17piotrek
Dzis z nim gadalem - chcialem zeby puscil wszystkich do trzeciej klasy z fizyki, a ja mu pokaze wszystkie luki i jak je zabezpieczyc, ale nie chce sie zgodzic. Rekrutacja nadal narazona, moze jakiegos bota spamujacego?:) Najlepiej z serwera szkolnego:P
Odp: [SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 15 kwie 2009, 19:47
autor: kamilsilver
Lepiej sobie daruj. Szkoda nerwów na takich ludzi. Nie chce zabezpieczenia, jego sprawa.
chcialem zeby puscil wszystkich do trzeciej klasy z fizyki
Tego zdania nie czaję. Nie każdy z tego forum chodzi do twojej szkoły.
Odp: [SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 15 kwie 2009, 22:01
autor: pawelbial
Zapewne nauczyciel informatyki jest zarazem nauczycielem fizyki no i aby nie było problemów z fizyką to mały szantaż informatyką - przynajmniej ja to tak rozumiem.
Odp: [SOLVED][PHP/SQL] Jak dodać kod do bazy danych, aby po pobraniu wykonał się?
: 16 kwie 2009, 15:51
autor: 17piotrek
Dokladnie;) Jak wiadomo, fizyka, zwlaszcza rozszerzona, do latwych nie nalezy, a w ten sposob kilka osob mogloby spac spokojniej:D Po prostu chcialem, zeby wszystkich przepuscil w tym roku z fizyki (uczy infy i fizy). Mam nadzieje, ze teraz wyrazilem sie jasno:)