Avatar billede anders4u Nybegynder
24. september 2015 - 13:39 Der er 6 kommentarer og
2 løsninger

Problemer med hjemmeside/cms php

Hejsa,

Jeg forsøger at hjælpe én der har en hjemmeside, hvor de har haft uventede gæster, grundet de aldrig havde fået ændret admin-koden - det er nu rettet.
Nu er det bare at, tager man forsiden - www.wiinbad.dk - så er der ingen menu i top-baren - men tager man www.wiinbad.dk/index.php så er der menu foroven.

Hvad er der gået galt?

/Anders
Avatar billede olsensweb.dk Ekspert
24. september 2015 - 13:50 #1
er http://www.wiinbad.dk/ index filen en html fil ??
jeg kan se i toppen at filen står der
   
<?php
include ("database/class.mysql.php");
$url = substr($_SERVER["REQUEST_URI"],1,strlen($_SERVER["REQUEST_URI"]));
$ubi=strpos($url,"?"); if(empty($ubi)) $ubi=strlen($url);
$url=substr($url,0,$ubi);
if(empty($url)) $url=index.php;
$lan=$_GET["lan"];
if(empty($lan))$lan=0;
-----

dvs den fortolker ikke php code, prøv at ændre fil extension til php, så kan den fortolke php code

kunne der ligge en default side den indlæsser istedet
index.html
default.html
Avatar billede Slater Ekspert
24. september 2015 - 13:53 #2
Ikke relateret til spørgsmålet, men læg mærke til:
mysql_query("SELECT * FROM contenido WHERE archivo = '$url'");

- Der er absolut ingen forhindring af injections. Variabler bliver smidt næsten direkte fra url-input ind i SQL udtryk. Hvis de ikke vil have ubudne gæster igen, så skal den kode altså rettes - ellers hjælper det meget lidt at skifte passwords.
Avatar billede anders4u Nybegynder
24. september 2015 - 14:01 #3
Det var sgu det - Tak for det :-)

Der lå en default.asp fil som læste først - den er nu slettet

Smider du et svar?

/Anders
Avatar billede anders4u Nybegynder
24. september 2015 - 14:03 #4
viperine - Hvad skal den rettes til?

Jeg er ikke php-kyndig, men kan sagtens åbne index.php-filen og rette.
Avatar billede olsensweb.dk Ekspert
24. september 2015 - 14:04 #5
BTW
$q_conteban = mysql_query("SELECT * FROM contenido WHERE archivo = '$url'");


ref http://php.net/mysql_query
Warning
This extension is deprecated as of PHP 5.5.0, and has been removed as of PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information.


ver 7 frigives den 2015-11-12 jf https://wiki.php.net/todo/php70#timetable

så alle functioner startende med mysql_ ophører med at virke når din host bliver opdateret til nyeste PHP

når du skifter API bør du overveje at anvende Preparer Statement
mini guide til mysqli http://www.eksperten.dk/guide/1480

personligt vil jeg anbefale PDO, der er Preparer Statement klar forbedret, og man kan nemt skifte database fra feks mysql til mssql eller anden
Avatar billede olsensweb.dk Ekspert
24. september 2015 - 14:06 #6
du får et svar her!!
men det er ikke 200 point værd, max 50 point. så lav du en deler
Avatar billede olsensweb.dk Ekspert
24. september 2015 - 14:06 #7
her jommer svaret
Avatar billede olsensweb.dk Ekspert
24. september 2015 - 14:48 #8
#4
en mulighed og hurtig
http://php.net/manual/en/function.mysql-real-escape-string.php


mysql_query("SELECT * FROM contenido WHERE archivo = '$url'");
skal laves om til
$url = mysql_real_escape_string($url);
mysql_query("SELECT * FROM contenido WHERE archivo = '$url'");

den rigtige skift API og anvende Prepare Statement
ref https://www.google.dk/search?q=php+prevent+sql+injection
http://php.net/manual/en/security.database.sql-injection.php
http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php
http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

men i første omgang skal du skifte API fra mysql til mysqli eller PDO
i mysqli kan du skrive på 2 måder:
Procdeduralt som du kender fra det gamle API her hedder alle functionerne det sammen som tidligere, bare med tilføjelse af et i


mysql_query($sql) og mysql_query($sql, $conn)
hedder
mysqli_query($conn, $sql); // procedural style
eller
$conn->query($sql); // oop style

i PDO kan du kun skrive OOP style
$conn->query($sql);

ovenstående anvender IKKE Prepare Statement
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

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