Avatar billede henrik2008 Nybegynder
05. februar 2012 - 17:08 Der er 11 kommentarer

php sikkehed

hej, jeg har lige nogle hurtig spørgsmål.

jeg har lavet nogle hjemmesider med html php og mysql osv.

hver gang jeg laver en nu hjemmeside for andre, skal jeg
lave om på eks, de domain name siderne henviser til eks,
http://erikhansen.dk/login.php
der er trættende at skulle lave henvisninger til hver eneste side med domain og skulle lave 10 sider om, bare for at lave henvisning til nyt domain navn osv. i header redirect koden.
jeg savner en løsning på dette problem, men tro jeg har fundet det.
herunder.

<?php $webadr="localhost"; echo '<form action="http://'.$webadr.'/loginside.php" method="post" name="input" id="input">'; ?>

al denne kode kunne jeg smide ind i en include("configadr.php");
og det virker selvfølgelig, for så skal jeg ikke lave ti sider om men kon en fil nemlig, configadr.php filen som jeg kalder den.

et andet problem er at jeg skal lave hver eneste side om med hensyn
til mysql connect delen, hver person, der skal have hjemmeside har jo udover forskellig domain navn også forskellig password osv til mysql connect delen, her tror jeg også jeg har fundet ud af løsningen, herunder.

$forbindelse = mysql_connect('localhost', 'user', 'password');
mysql_selectdb("bruger");

denne kode kunne jeg også smide ind i en include("mysqlconnect.php");.
så er det kun denne fil jeg skal lave om, nrå der er nødvendig!.

nu kommer mit spørgsmål, er dette en sikker måde at lave en nem
konfig lign filer, jeg mener filen med  mysqlconnect.php ligger tilgængelig på serveren bare som en fil med ops vedr. mysql password osv. ?

jeg har lavet en hjemmeside der er php/ mysql drevet, dvs. al hmtl indhold er gemt i mysql databasen.
nu, når jeg tænker over det, er det  egentlig muligt at lave en html javascript menu / links og gemme det i mysql databasen OG SAMTIDIG BRUGE DENNE MENU PÅ KUN EN SIDE (INDEX.PHP), JEG MENER, NÅR
BRUGER TRYKKER PÅ DE FORSKELLIG LINKS, BLIVER HAN/HUN HENVIST TIL DEN PÅGÆLDENDE SIDE, MEN I VIRKELIGHEDEN, SKAL HAN/HUN BLIVE PÅ SAMME SIDE, KUN INDHGOLD SOM  HTML BLIVER UDSKIFTET (SOM TEKST OG BILLEDER!),DVS. ENB 100% VIRTUAL MYSQL DREVET HJEMMESIDE ?, derved ungåt jeg at skulle lave ti sider, altså 1 side for hver link!!. kan i følge mig ?. 
jeg gad godt se et demo kode script på dette!.
jeg tror jeg har på fornemmelsen, hvordan det virker!.
jeg kunne vel bare sætte en php variabel på hver link, for derved at tjekke med en if sætning der udføre relevant redirect for hver link!
som her måske ?. http://loginform.php .
med kode =  http://loginform.php&fff=23
jeg ved bestemt at man kan sætte php variabler direkte i
php/hmtl  links, for jeg har selv lavet et bruger login med email konto aktivering, der sender et email til bruger, så han/hun kan aktivere
sin konto i emailen, der sætter jeg en php variabel i selve linket
og bruger også lastid. og det virker!.
Avatar billede DeeDawg Nybegynder
05. februar 2012 - 18:21 #1
Hvis du i din mysqlconnect.php kun gemmer informationerne til databasen, i variabler, er der ingen sikkerhedsrisiko ved at lade den være tilgængelig. Da man kan sige at variablerne egentlig kun er en placering i serverens RAM, kommer denne information jo aldrig videre til brugeren.

Du har selvfølgelig mulighed for at nægte adgang til filen, hvis du gerne vil. Hvis du kører med en Apache server, kan du jo benytte dets mod_rewrite modul til at nægte adgang til filen for alle, undtagen serveren selv.

Mht. opdatering af indhold, kunne du jo tage et kig på AJAX. :)
Avatar billede olebole Juniormester
05. februar 2012 - 20:33 #2
<ole>

Hvad angår databaseinfo i en kongigurations, så er det måden, det gøres på. Ingen farer ved det.

Er du optaget af sikkerhed (og det bør du naturligvis være), så dropper du det forældede mysql-API. I stedet bør du kikke på prepared statements under mysqli. Det kan synes lidt tungt at komme i gang med, men det er faktisk ikke så svært - og så er det væsentligt mere sikkert og hurtigere ved gentagne kald. Kik evt. også på denne tutorial, som kan gøre det lidt lettere at komme i gang.

Ajax til load af indholdssider kan jeg derimod ikke anbefale. Hvis sitet ellers er begavet struktureret og skrevet, vil du uundgåeligt få problemer med søgemaskinerne - og brugerne vil få problemer med favoritter.

Steder som Googles billedsøgning (knappen 'Vis flere resultater' i bunden) eller YouTubes kommentarer er det fint nok - for slet ikke at tale om deciderede webapps som GMail. Men ikke til egentligt indhold.

/mvh
</bole>
Avatar billede olebole Juniormester
05. februar 2012 - 20:37 #3
Et alternativ til mysqli er PDO - specielt hvis du ønsker mulighed for at bruge forskellige databaser (f.eks. postgreSQL). Mysqli er dog nok lettere, når man kommer fra mysql
Avatar billede henrik2008 Nybegynder
06. februar 2012 - 00:47 #4
tak for svarene til jer begge.
Avatar billede henrik2008 Nybegynder
06. februar 2012 - 01:03 #5
jeg lærte meget, at lure  koden af, i joomla.
jeg fattet simpelhen ikke første gange jeg stillet bekendtksab med
et cms som joomla, hvor den gemte mine sider eller indhold, jeg var
vant til at man gemte indhold i hmtl på hver side med et hmtl editor, så hvordan i al verden kunne jommla gemme både tekst og billeder osv, når man ikke kunne få øje på siderne i form a html filer, jeg har lært meget siden.
Fandt hurtig ud af joomla gemte stort set alt i mysql databasen, og derved tog jeg en beslutning for at købe nogle bøger om jommla for at lære det fuldt ud. senere besluttet jeg mig for at lære php og mysql, for derved at lave mit eget cms (gudske lov, havde jeg nogle år på bagen vdr. programmering, før jeg overhovedet lærete joomla!)

jeg fatter stadig ikke hvordan jommla håndtere de forskellig links og menuer plus de sider man laver under joomla, joomla har KUN EN SIDE KALDET INDEX.PHP, alt andet er "virtual".
jeg tro jeg skal aflure mere kode fra joomla.
det fandme snedigt lavet, det joomla.
jeg fandt joomla for utilstrækkelig og ret svær at arbejde med generalt, selv da jeg var ret øvet i joomla, derfor gider jeG ikke bruge det mere, og det er da meget sjover at lave sit eget cms selvom det kun er til privat brug.
nu skal jeg bare lære asp.net og vb script....
Avatar billede olebole Juniormester
06. februar 2012 - 01:17 #6
Joomla er nemt at gå til og let at sætte op, men at gemme alt i databasen koster bunker af serverressourcer. Nemt, men sløvt!  :o|

MOSS (Microsoft Office Sharepoint Server) gør det samme. Der kan siges meget godt om platformen, men ordet 'hurtig' indgår dæleme ikke i librettoen ... tværtimod!
Avatar billede henrik2008 Nybegynder
06. februar 2012 - 12:42 #7
jo, joomla er da nemt generalt,men der er tonsvis af funktioner jeg ikke kunne bruge, selvfølgelig fordi joomla henvender sig til rigtig mange mennesker.

prøv lige mass-email, hold kæft, hvor er det dårlig, næ jeg lavede
selv mit eget mass-email i form af nyhedsbrev. (nej jeg siger ikke at jeg har lavet et bedre cms, eller er bedre programmør end de tusinde mennesker der står bag joomla, men der er så sandelig ting
der kunnes gøres bedre i joomla.
hver gang jeg skulle have nogle funktioner i joomala, som jeg troede
var med, var de der ikke, eller også var de utilstrækkelig på en eller anden måde, hver gang måtte jeg google på nettet og finde et freeware plugin der passede til mine behov.
joomla er blevet kritiseret for at ikke have ordentlig sikkerhed, der er ikke mysql injection sikkerhed i joomla`s php kode, wordexpress kritiseret også for at have elendig sikkerhed!.
næ, jeg går aldrig tilbage til jommla.
menu systemet (altå den man kan lave i joomla på ens hjemmeside), har en skrub forvirret opbygning.
når det er sagt er det masser andre ting som virker glimernede i joomla.

men det selvfølglig min menning om joomla.
templete creation i jommla er latterlig fuldstændig, jeg har aldrig set noget så forvirret!, ja unskyld jeg siger det. (nej
det er ikke fordi jeg ikke kender til hmtl eller css osv, men
det burde da være nemmere for folk der stiller første gangs
-bekendtskab med et cms og gerne vil lave en meget simpel skablon uden kode, eller lidt kode.
Avatar billede henrik2008 Nybegynder
08. februar 2012 - 12:01 #8
øhh, pdo, lyder lidt kedligt men ok.
jeg har ikke taget mig sammen til at lære funktioner og class i
php / object orenteret programmering, men jeg har da arbejdet med
c++ og visual basic 6/2008/2010 med net platformen.
så jeg er bekendt med object orienteret programmering og funktioner og class osv.
pdo er jo et slags interface til databaser, med masser funktioner.
jeg må hellere kigge på det.

hvor mange sprog skal man lære for at være webudvikler, det er næsten for meget, men ok jeg kaster mig blodig over et par ekstra script /sprog!, også ikke mer.

dark basic pro, er dejlig ment, når man skal lave spil, for så undgår man directx, men så lære man hellere ikke directx, rigtig!.
Avatar billede DeeDawg Nybegynder
08. februar 2012 - 16:46 #9
Tror ikke det er noget du kan definere, som sådan. Men jo flere kompetencer, desto bedre. :)
Avatar billede olebole Juniormester
09. februar 2012 - 14:31 #10
Webudvikling er et fag, og et fag tager lang tid at lære. Meget lang tid, når man lærer det på egen hånd. Faget er i konstant - og i forhold til andre fag - monstrøst rivende udvikling, så derfor skal du hele tiden lære nyt, efterhånden som det, du kan, forældes
Avatar billede olebole Juniormester
09. februar 2012 - 14:32 #11
- og det er jo ikke mindst det, der gør det sjovt  =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester