Jag har tagit över en större php-applikation för en ideell förening. Jag har nu flyttat projektet till en ny server, dock så stöter jag på patrull.
När folk ska posta i forumet/uppdatera sin profil buggar sidan ur om de har apostrof ' med i texten någonstans, inlägget postas helt enkelt inte. Exakt samma applikatio fungerade utmärkt på en annan server. Jag kör PHP i verision 5.2.1.
Jag har provat att ha följane i .htaccess filen för sidan:
php_value magic_quotes_gpc off
php_value safe_mode off
även:
php_flag magic_quotes_gpc off
php_flag safe_mode off
Har även provat att sätta allt till on för sakens skull. Jag vet att magic_quotes är av default i php 5.2.1
Vet inte om du kan påverka magic_quotes direkt i htaccess. Men i vilket fall som helst om man kör med mysqli (improved) behöver man inte köra addslashes på sina frågor men då du kör med vanliga mysqlfunktionerna bör du köra med addslashes på dina strängar och sedan stripslashes när du hämtar din data. Det bör åtgärda felet med att den knäppar sig med '. Antagligen blir det samma med "?
Fördel om man har en funktion som man kör alla variablar genom (de som ska in i dbn dvs.). Som tar hand om konstiga tecken och gör om åäö till htmlkoder etc. :)
Nej, det är det som är det märkliga. Citationstecken och backslash är helt problemfria att använda, det är sjukt...
Och jag vet att jag borde escapea inputen bättre, applikationen är inte skriven av mig och den ska bytas ut mot ett open source cms senare hyffsat snart. Applikationen har fungerat på en php 5.2.1 installation innan också.
Jag har nog hitta felet. magic_quotes_gpc var avstängt och gick inte att slå på via htaccess. Jag måste skapa mig en egen php.ini först. Jag återkommer med resultat.
Jag har nog hitta felet. magic_quotes_gpc var avstängt och gick inte att slå på via htaccess. Jag måste skapa mig en egen php.ini först. Jag återkommer med resultat.
Helt korrekt. :)
magic_quotes_gpc kan du bara ändra med htaccess eller ini_set() i PHP <= 4.2.3.