 |
 |
 |
| Bestanden opladen werkt niet |
|
 |
 |
 |
|
Wanneer u bestanden zoals images wil opladen in uw php code moet u de directory waar de bestanden in komen te staan rechten 777 geven. Dit kan u doen in uw FTP programma, een handleiding hoe dit te doen in de meest gebruikte FTP-clients vindt u op onderstaande link
rechten veranderen in uw FTP client |
|
 |
 |
 |
| Hoe verberg ik php errors? |
|
 |
 |
 |
|
Wij stellen de php.ini zo in dat alle errors te zien. Dit is handig tijdens het debuggen maar is soms ongewenst wanneer uw website life is.
PHP heeft een eigen systeem om errors te onderdrukken als dat nodig is. U plaatst @ voor de functie om een error te onderdrukken.
bv $link = mysql_connect("localhost", "user", "password");
wordt dan
$link = @mysql_connect("localhost", "user", "password");
|
|
 |
 |
 |
| Hoe verstuur ik HTML mail met PHP? |
|
 |
 |
 |
|
Het versturen van HTML mail via php stelt strengere eisen dan text mails. De meest voorkomende fout is dat een deel van de headers in de mail zelf getoond worden.
Het tonen van de headers in de mail kan vier redenen hebben, gewoonlijk is het een combinatie van verschillende.
- De headers staan in de verkeerde volgorde.
- Er wordt \r\n gebruikt ipv \n aan het einde van regels.
- Er missen headers.
- Er wordt geen echt geldige mime mail gemaakt.
Dit voorbeeld maakt een echte MIME mail met een html deel en een text deel.
<?php
//add From: header and return-Path
$headers = "Return-Path: test@hieruwdomein.com\n";
$headers .= "From: test@hieruwdomein.com\n";
//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\n";
//unique boundary
$boundary = uniqid("HTMLDEMO");
//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/mixed; boundary = $boundary\n\n";
//plain text version of message
$body = "--$boundary\n" .
"Content-Type: text/plain; charset=ISO-8859-1\n" .
"Content-Transfer-Encoding: base64\n\n";
$body .= chunk_split(base64_encode("This is the plain text version!"));
//HTML version of message
$body .= "--$boundary\n" .
"Content-Type: text/html; charset=ISO-8859-1\n" .
"Content-Transfer-Encoding: base64\n\n";
$body .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
//send message
if ( mail("test@hieruwdomein.com", "An HTML Message", $body, $headers)) {
echo "mail verzonden";
} else {
echo "FOUT mail NIET verzonden";
}
?>
Volgend voorbeeld is om hele simpele html mails mee te versturen maar let op: die zijn niet volgens de regels. Voor een exchange server bv heeft u bovenstaand voorbeeld nodig want die gebruikt een aparte container voor de headers en de body.
<?php
//add From: header and return-Path
$headers = "Return-Path: test@hieruwdomein.com\n";
$headers .= "From: test@hieruwdomein.com\n";
//specify MIME version 1.0
$headers .= "Content-Type: text/html; charset=ISO-8859-1\n";
$headers .= "MIME-Version: 1.0\n";
$body = "This the <b>HTML</b> version!";
//send message
if ( mail("test@hieruwdomein.com", "An HTML Message", $body, $headers)) {
echo "mail verzonden";
} else {
echo "FOUT mail NIET verzonden";
}
?>
|
|
 |
 |
 |
| Ik kan geen connectie maken met de database vanaf een andere computer |
|
 |
 |
 |
|
Omwille van de veiligheid kan u enkel een connectie maken met uw database vanop de server waarop uw database is aangemaakt. Op uitdrukkelijk verzoek kunnen wij een database van buiten af bereikbaar maken. Wij hebben dan van u nodig:
- de naam van de database.
- de user waarmee u ingelogd op deze database.
Linulex wijst alle verantwoordelijkheid af indien iemand van buiten de server misbruik maakt van uw database. Het van buitenaf bereikbaar maken gebeurd volledig op eigen risico. |
|
 |
 |
 |
| Ik kan geen connectie maken met de database. |
|
 |
 |
 |
|
Omwille van de veiligheid kan u enkel een connectie maken met uw database vanop de server zelf en vanaf "localhost". Dit is een speciale naam in de computerwereld die altijd wil zeggen "deze computer".
In php code maakt u connectie met uw database op volgende manier:
$link = mysql_connect("localhost", "user", "paswoord");
"user" en "paswoord" vervangt u door de gegevens die u heeft ingevuld tijdens het aanmaken van uw database. |
|
|
Zeker en vast.
PHP is momenteel de meestgebruikte Apache webserver module (43%) en de Apache webserver bedient meer dan 61% van alle webiste op het internet.
Er zijn meer webservers die PHP aanbieden dan Windows webservers en dus servers die ASP kunnen aanbieden.
PHP is door haar structuur uiterst krachtig en door haar syntax eenvoudig aan te leren en dus een ideale taal voor zowel beginner als gevorderde.
De middelen om database koppelingen te maken zijn rechtstreeks in het hart van PHP geprogrammeerd en dat maakt PHP/Mysql een gouden combinatie.
|
|
 |
 |
 |
| Kan ik gevoelige bestanden beveiligen? |
|
 |
 |
 |
|
Dat kan
Om ervoor te zorgen dat gevoelige bestanden, bv includes met MySQL paswoorden, nooit in de browser zichtbaar worden plaatst u deze best in een beveiligde directory.
U kan beveiligde directories aanmaken via de plesk interface.
In de Plesk online interface vindt u een knop "Directories".
Druk op deze knop en volg dan de online instructies voor het aanmaken van een beveiligde directory. |
|
 |
 |
 |
| magic_quotes_gpc aanzetten |
|
 |
 |
 |
|
Sommige oudere scripts kunnen eisen dat magic_quotes_gpc aan staan in plaats van uit. Voor de algemene veiligheid is het echter aan te raden dat deze uit staan.
Indien het echt noodzakelijk is voor uw script dat deze aanstaan kan u deze zelf aanzetten via een .htaccess file. In dit file zet u de lijn:
php_flag magic_quotes_gpc On
Het .htaccess filewerkt voor de map waar het instaat en alle onderliggende mappen. |
|
 |
 |
 |
| Mijn script werkt niet met safe mode aan, wat nu? |
|
 |
 |
 |
|
Wanneer uw script niet werkt met safe mode aan kan u ons een mailtje sturen met de vraag het af te zetten voor uw site. Wij hebben dan nodig:
- De website waarop safe mode af moet gezet worden
- De naam van het script
- De reden waarom safe mode moet afstaan
- Uw akkoord met de voorwaarden om safe mode uit te schakelen zoals hier beschreven
Indien het een niet zelf gemaakt script is bent u verplicht het te updaten zodra de makers van het script een nieuwe versie uitbrengen om een veiligheidslek te dichten. Wanneer wij merken dat u een onveilige versie van een script op uw site heeft zullen wij safe mode meteen terug aanzetten. Door 1 onveilig script kan een server gehacked worden en dat is niet eerlijk tegenover de andere klanten die de server met u delen.
Open_basedir wordt nooit afgezet.
Safe mode wordt nooit afgezet in volgende gevallen:
- Het script is geïncripteerd
- Het script heeft een historie van veiligheidslekken (bv phpbb)
- Er bestaat voor het script een safe mode patch
- Safe mode moet enkel afstaan voor het opladen van bestanden en het script is zelf geprogrammeerd
In het laatste geval kan u het script aanpassen zodat het achter de schermen gebruik maakt van FTP om de bestanden naar uw website over te brengen. U kan hier een voorbeeld van een PHP FTP Class downloaden.
WAARSCHUWING
Indien er op een server wordt ingebroken en de logs tonen duidelijk aan dat de inbreuk via uw website is gebeurd en betrekking heeft op de safe mode bent u verantwoordelijk voor de kosten die dit met zich meebrengt.
|
|
|
www.php.net
www.zend.com
www.mysql.com
|
|
|
Nederlandstalige PHP/MySQL Howto
Download als zipbestand.
phpmysql.zip |
|
|
PHP Editors en software lijst
Hier vindt u de editors die wij aanraden:
Linulex software pagina |
|
|
HotScripts.com
PHP Resource Index
LinuxGuruz.com |
|
 |
 |
 |
| Wat is de veiligheidsinstelling van PHP? |
|
 |
 |
 |
|
Linulex maakt gebruik van open_basedir en safe_mode.
open_basedir zorgt ervoor dat u enkel bestanden kan openen die zich in uw eigen directories bevinden. Dit telt voor alle accounts en geeft u ook de zekerheid dat iemand anders op onze servers nooit bestanden kan inlezen die in uw directory staan.
U heeft ook toegang tot de /tmp directory van het systeem.
safe_mode zorgt ervoor dat u enkel bestanden kan openen die uw eigendom zijn en dat u geen systeem programmas kan starten . Linux weet wie welk bestand heeft opgeladen en kent aan de hand hiervan eigendomsrechten toe aan bestanden en mappen. Dit wil zeggen dat houders van andere accounts ook niet uw bestanden kunnen inlezen, zij zijn immers geen eigenaar van uw bestanden.
|
|
 |
 |
 |
| Wat is het pad naar curl? |
|
 |
 |
 |
|
Wanneer u scripts curl gebruiken moet u soms het hardwarepad naar curl opgeven.
Gebruik hiervoor:
/usr/bin/curl
|
|