studencikus 0 Napisano 24 Listopada 2009 Udostępnij Napisano 24 Listopada 2009 Witam, Potrzebuje pomocy z zadaniem z PHP : Zad. 20 Uzupełnij witrynę z zadania 18 o możliwość dostępu do pełnej zawartości po uprzednim zalogowaniu się z zastosowaniem mechanizmu sesji PHP. Witryna powinna mieć następującą funkcjonalność: - logowanie do witryny dla conajmniej 3 różnych użytkowników (osobny plik do logowania): ■ administrator - dostęp do wszystkich podstron serwisu, ■ zwykli użytkownicy - dostęp do jednej wybranej podstrony, - wyświetlanie na wszystkich podstronach serwisu informacji o zalogowanym w danym momencie użytkowniku: ■ nazwa użytkownika, ■ identyfikator jego sesji, ■ dowolna inna informacja. - wylogowanie z witryny. Napiszcie jak to ma wygladac w php bo googluje i googluje i nie mam nic, a ze php "jest nie dla mnie" to nie bardzo wiem czego szukam.. Z gory dzieki za pomoc Cytuj Link to post Share on other sites
y0ddh4 10 Napisano 24 Listopada 2009 Udostępnij Napisano 24 Listopada 2009 Ja bym to zrobił tak: W bazie SQL tabela z userami, hasłami (oczywiście z MD5), identyfikatorami (id, AUTO_INCREMENT, PRIMARY KEY), uprawnieniami (0,1), id sesji. Logując przypisujesz jakieś id sesji (np. login, aktualny czas w formacie uniksowym i to wszystko w md5) i tylko na każdej podstronie sprawdzasz w bazie na podstawie id, loginu i id sesji usera czy ma uprawnienia i prosta instrukcja warunkowa jeżeli 0 to może tylko na tą jedną, a jeżeli 1 to na każdą może (na jednej, wybranej stronie dajesz if($_row[prawa] == 0 or 1) { wyświetlasz stronę, a na pozostałych dajesz tylko jeden, przy czym adminowi dajesz to jeden. Pozdrawiam Cytuj Link to post Share on other sites
studencikus 0 Napisano 24 Listopada 2009 Autor Udostępnij Napisano 24 Listopada 2009 a wlasnie bym zapomnial, chodzi o to ze nie mam zielonego pojecia jak to wklepac zeby dzialalo takze samo napisanie co i jak mnie nie ratuje.. potrzebuje zwyczajnie gotowego kodu bo inaczej leze i kwicze Cytuj Link to post Share on other sites
y0ddh4 10 Napisano 24 Listopada 2009 Udostępnij Napisano 24 Listopada 2009 czytaj PW jak chcesz komuś pomóc to rób to na forum a nie na PW, przez PW załatwiaj prywatne sprawy. Cytuj Link to post Share on other sites
studencikus 0 Napisano 8 Grudnia 2009 Autor Udostępnij Napisano 8 Grudnia 2009 kolejny problem Jak na stronie umiescic pole edycyjne z mozliwoscia wpisywania dowolnych skryptow SQL do wykonywania operacji na danych w bazie (np. wyszukanie danych, sortowanie danych, itp.)?? z gory dzieki za pomoc Cytuj Link to post Share on other sites
kpmaciek 0 Napisano 8 Grudnia 2009 Udostępnij Napisano 8 Grudnia 2009 Hmm najprostszy sposób to zwykły text input, przekazywany później poprzez _POST; następnie przepisujesz sobie to z tablicy _POST do jakieś tam zmiennej powiedzmy $txt, po czym wykonujesz standardową operacje mysql_query($txt); to oczywiście najprostszy sposób, i mam wrażenie, że tego właśnie próbowałeś. Problem w tym, że to co z teorii proste w praktyce nie do końca tak jest, jeśli korzystasz z jakiegoś cudzego hostingu prawdopodobnie masz włączoną w php.ini opcje magic_quotes (jak dobrze kojarzę to w standardowej instalacji Apacha też jest ona domyślnie włączona), która ci slashuje wszelkie przekazywane dane, właśnie aby ci nikt poprzez nie, nie próbował wstrzyknąć jakiegoś zapytania sql. Aby rozwiązać taki problem wystarczy przed wykonaniem zapytania taką zmienną potraktować funkcją stripslashes(); jednak pamiętaj iż robiąc coś takiego musisz być naprawde świadom czym to grozi Sądząc po pierwszym poście wnioskuje, że zadania te robisz na jakieś zajęcia na uczelnie, więc nie bardzo jest co dyskutować nad sensem stosowania czegoś takiego we własnych skryptach. Jednak pamiętaj iż nie powinno się czegoś takiego wykonywać poprzez takie pola edycyjne gdyż można sobie bardzo łatwo posypać bazę; nie należy też pod żadnym pozorem dawać dostępu do czegoś takiego użytkownikom, jak trafisz na kogoś złośliwego to ci wywali caluteńka baze i wtedy mamy problem Domyślam się tylko iż wykładowca wam zadał coś takiego abyście właśnie troche pogłówkowali nad opcją magic_qutes_gpc; funkcjami: get_magics_qutes_gpc(); addslashes() i stripslashes(), co tez mimo wszystko polecam, bo na pewno was o to w razie czego zapyta, a jest to jednak dość ważna i jedna z podstawowych metod zabezpieczania przed atakami sql_injection Pozdrawiam i mam nadzieje ze pomogło Cytuj Link to post Share on other sites
studencikus 0 Napisano 9 Grudnia 2009 Autor Udostępnij Napisano 9 Grudnia 2009 spoko bo to tylko na cwiczenia .. dzieki. pokaze dziewczynie i zobaczymy czy sie jej przyda Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.