Det som händer är att jag hamnar på /script/skapalag
Dock att den tror att det är ett lag, dvs att den följer denna rewrite rule: RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?team=$1 och inte RewriteRule ^script/([a-z_-]+)/?$ /script/?do=$1 [QSA]
Notera att det är viktigt i vilken ordning reglerna kommer
Tillägg:
QSA-flaggan behövs inte eftersom du använder method="POST" på ditt formulär, men jag tog med den ändå :)
Hej,
tack för ditt svar!
Det mesta verkar fungera nu. Jag kan tex nå /script/do osv nu.
Dock så fungerar det inge bra tillsammans med min php. Så fort jag tex har funktionen
$do = mysql_real_escape_string($_GET['do']);
Så fungerar det inte. Skriver jag däremot tex:
echo $_GET['do'];
Så fungerar det.
Vad beror det på? Detta gör att mina script inge fungerar nå bra.
Vet du vad det kan bero på?
Felet är att du inte har någon koppling mot MySQL. Detta krävs för att du ska kunna använda funktionen mysql_real_escape_string().
PS! Överväg att gå över till de nyare varianterna såsom mysqli eller PDO då mysql_x framöver kommer upphöra.
Hm okej. Men jag har en vanlig databaskoppling högst upp på sidan?
Den fungerar ju om jag kör den separat utan rewriterule.
Måste jag göra nått speciellt med den?
mysql_connect("localhost", "user", "password");
mysql_select_db("databas") or die("Databaskopplingen kunde inte upprättas.");
mysql_query("SET NAMES UTF8");
Är du säker på att den koden körs? Pröva att, där du nu har mysql_real_escape_string("somethingsomething"), köra mysql_query("SELECT * FROM entabell LIMIT 1") och se ifall det blir något knas.
Är du säker på att den koden körs? Pröva att, där du nu har mysql_real_escape_string("somethingsomething"), köra mysql_query("SELECT * FROM entabell LIMIT 1") och se ifall det blir något knas.
Hej,
Det fungerade. Tog bort mysql_real_escape_string och körde en Select istället och den hämtar data från databasen.. Väldigt märkligt? Eller?
Ja, det är väldigt märkligt. Det kan jag inte alls förstå. Vad är det du escapear då? Kan du flytta det?
Tar jag bort mysql_real_escape_string så fungerar scriptet utan fel... hmm.
Varit med om något liknande tidigare?
Finns det andra sätt så jag kan säkra mig från attacker om jag inte kan använda mig av mysql_real_escape_string?
Ja på båda frågorna. Ibland har jag haft sådana här, till synes oförklarliga, problem med mysql_real_escape_string().
Ett annat sätt att skydda sig från SQL injections är som jag nämnde i mitt första svar att gå över från mysql_x till PDO. Om du kör prepared statements i PDO så existerar inte SQL injections. Det är helt enkelt omöjligt och du behöver inte bry dig om det alls.
Ja på båda frågorna. Ibland har jag haft sådana här, till synes oförklarliga, problem med mysql_real_escape_string().
Ett annat sätt att skydda sig från SQL injections är som jag nämnde i mitt första svar att gå över från mysql_x till PDO. Om du kör prepared statements i PDO så existerar inte SQL injections. Det är helt enkelt omöjligt och du behöver inte bry dig om det alls.
Okej, är det ett stort steg att gå från mysql_x till PDO?
Någon annan som vet varför det inte fungerar med mysql_real_espace_string() för mig? :)
Okej, är det ett stort steg att gå från mysql_x till PDO?
Någon annan som vet varför det inte fungerar med mysql_real_espace_string() för mig? :)
Tack på förhand!
Det beror på. Är du van vid objektorienterad PHP så är det absolut inte stort, annars kanske det kan kännas lite ovant, men man vänjer sig ganska fort.
Om du postar hela din kod så kan vi ju titta på den, men de få rader vi fått hittills är tyvärr inte till så mycket hjälp.
PS! Jag skickade ett PM till dig utifall du missat det.
140 ms totalt · 3 externa anrop · v20260731065814-full.b746b907