PHP

Från $1

Allmänt

Utveckling och testning av webbapplikation

Vi rekommenderar inte att man testar och utvecklar webbapplikationer på våra servrar. Våra servrar bör främst användas för produktion.
För utveckling och testning av webbaplikationer så rekommenderar vi följande lösningar som man kan använda lokalt på sin egen dator:

Generella felmeddelanden

Min php-fil genererar Internal Server Error!?

PHP-filen måste ha exekveringsrättigheter, se till att den har rättigheterna 755 (rwx, r-x, r-x). Filen måste också ägas av samma användare som äger domänen där filen ligger. I de flesta fallen gäller det att filen ska ägas av dig som användare och ingen annan.

Säkerhet

Att tänka på

När du programmerar i ett språk som PHP är oftast säkerhet en väldigt stor del av det du gör. Framförallt när du jobbar mot en databas av något slag, måste du spendera lite tid för att göra allting så säkert som möjligt. Gör du inte det riskerar du att bli utsatt för en rad olika attacker som kan skada både din applikation/webbsida och i värsta fall även webbhotellet där din applikation ligger.

SQL-Injection
Den vanligaste typen av "hot" är en så kallad SQL-Injection. Idag finns det väldigt bra metoder för att förhindra dessa typer av attacker, men den första Faktiska metoden du bör använda är sunt förnuft. Som utvecklare ska du Aldrig lita på användaren eller den data användare själva kan påverka (ex. formulär). Se därför alltid till att filtrera den typen av data innan du använder den.

Läs om SQL-Injection

Hur man skyddar sig

Cross Site Scripting (XSS)

Hur gör jag ett säkert kontaktformulär?

Något man kanske ofta inte tänker på när man bygger sin webbplats är att kontaktformulär faktiskt kan vara orsak till en hel del problem på servern, inte bara för en själv utan även för alla andra man delar servern med. Det är därför väldigt viktigt att man vet om vilka problem som finns och hur man skyddar sig mot dem.

Med ett kontaktformulär menar vi ett formulär som används av besökaren för att skicka ett e-postmeddelande via webbplatsen till personen/företaget bakom webbplatsen.

Tanken är givetvis att det bara ska gå iväg ett meddelande till en specifik adress som man angivit när man programmerade kontaktskriptet. Men ofta är det möjligt för spammare/robotar att använda formuläret för att skicka ut mail till andra mottagare. Det görs genom att använda formuläret för att även lägga in meddelandehuvuden i e-postmeddelandet som ska gå iväg där man lägger till BCC-mottagare (Blind Carbon Copy). Det mail som då är tänkt att bara gå till webbplatsens kontaktpersoner går nu även iväg till en hel mängd mottagare istället. Detta problem brukar kallas för Email Injections och det finns väldigt mycket skrivet om detta varför vi inte tänker gå djupare än så här utan istället ge några nyttiga länkar att använda:

Även om mycket av den information man hittar på nätet behandlar problemet tillsammans med PHP så gäller problemet även för andra språk, t.ex. Perl.

Ett annat bra sätt att undvika att robotar använder ditt formulär för att skicka spam är genom att använda auto-genererade bilder som innehåller tecken (bokstäver & siffror) som besökaren uppmanas fylla ner i ett fält. Det är ett enkelt och bra knep att verifiera att det faktiskt är en människa som fyller i formuläret och inte en robot.

Databashantering

Hur kopplar jag upp mig mot mysql med PHP?

Här är ett exempel taget från manualen på www.php.net och lite modifierat. web1 i exemplet nedan är ditt användarnamn.

<?php
 
$mysqlhost = "mysql.mindoman.se"; # Rätt host hittar du i kundcenter

$mysqluser = "web1_användarnamn";
$mysqlpass = "lösenord";
$mysqldb = "web1_databasnamn";

$link = mysql_connect($mysqlhost,$mysqluser,$mysqlpass);
if (!$link) {
die('Kunde ej ansluta. Felmeddelande: ' . mysql_error());
}
echo 'Anslutningen gick bra.';
$db_selected = mysql_select_db($mysqldb, $link);
if (!$db_selected) {
die ('Kan ej koppla upp databas. Felmeddelande : ' . mysql_error());
}
echo 'Databaskopplingen gick bra.';

mysql_close($link);
?>

För mer info om PHP/MySQL, se PHP-manualen: http://se.php.net/manual/sv/ref.mysql.php

Content Management System (CMS)

Fel vid installation av komponent/modul till Joomla!

Först och främst, se till att de kataloger som webbservern behöver skrivrättigheter till har korrekta rättigheter.
Gå in under Installers > Components i administrationsgränssnittet för Joomla och kontrollera att katalogerna i mitten på sidan alla är Writeable. Finns inte skrivrättighet till dessa kataloger så måste detta åtgärdas.
Det bästa är om katalogerna ägs av dig och har grupptillhörigheten apache. Tyvärr kan du inte själv sätta grupptillhörighet till apache utan måste be en administratör åtgärda detta (maila isåfall kundservice@binero.se och ange ditt användarnamn, vilken server du ligger på och vilka kataloger det gäller för att vi ska kunna åtgärda det så snabbt som möjligt, ange givetvis också att det handlar om rättighetsändring för en Joomla!-installation). En osäkrare variant för den otålige är att sätta rättigheterna 777 på katalogerna. Detta gör dock att alla användare på systemet kan skriva till dessa filer.

Om du ändå får detta problem trots att du har kontrollerat ovanstående så ber vi dig kontakta supporten (kundservice@binero.se).

Taggar:
 
Bilder (0)
 
Kommentarer (0)
Du måste login för att skriva en kommentar.