Drift/Web
Denne siden inneholder diverse informasjon om webserveren for PVVs brukere.
Brukernettsidene hostes for tiden på Maskiner/Tom
Apache-konfigurasjon
Relevant apache-konfigurasjon finner du i /etc/apache2
. Legg spesielt merke til /etc/apache2/mods-enabled/userdir.conf</conf>
PHP-konfigurasjon
Lasting av URLer med fopen() o.l.
Fordi lasting av filer fra en URL via fopen(), include() og tilsvarende funksjoner i PHP er en stor sikkerhetsrisiko er dette slått av på PVV fra og med 7. april 2006. Det vil si at du ikke lenger kan gjøre fing som
$fp = fopen("http://www.foo.com/data.txt", "r")
eller
include("http://www.foo.net/include.html").
Dersom du er avhengig av å laste websider eller filer fra andre webservere må du heretter bruke funksjoner som fsockopen() e.l. for å hente filer fra andre maskiner, f.eks.:
<?php
function get_url($host, $path, $port = 80) {
$fp = @fsockopen($host, $port, $errno, $errstr, 5.0);
if (!is_resource($fp)) {
return $errstr;
}
// Send request
fputs($fp, "GET $path HTTP/1.0\nHost: $host:$port\n\n");
// Skip HTTP-header
while (!feof($fp)) {
$line = fgets($fp, 1024);
if (trim($line) == '') break;
}
// Read body
$body = '';
while (!feof($fp)) { $body .= fgets($fp, 1024); }
fclose($fp);
return $body;
}
print get_url("www.pvv.ntnu.no", "/");
?>
Visning av feilmeldinger
I utgangspunktet er ikke php-feilmeldinger vist. Til at feilmeldinger skal vises, lag filen .htaccess med følgende innhold:
php_flag display_errors on
php_value error_reporting E_ALL
Filen lages i katalogen til scriptet som skal kjøres.
Maintenance/Web
This pabe contains various information on the web-server for PVVs users.
PHP-configuration
Loading of URLs with fopen() and such
Because the loading of files from an URL by fopen(), include(), and similar functions in PHP is a huge security risc it is disabled at PVV from the 7. of April 2006. It means that you no longer can do things such as
$fp = fopen("http://www.foo.com/data.txt", "r")
or
include("http://www.foo.net/include.html").
If you are dependent on loading webpages or files from other web-servers you hereafter have to use functions such as fsockopen() or similar to fetch files from other machines, to get files from other machines, for an instance:
<?php
function get_url($host, $path, $port = 80) {
$fp = @fsockopen($host, $port, $errno, $errstr, 5.0);
if (!is_resource($fp)) {
return $errstr;
}
// Send request
fputs($fp, "GET $path HTTP/1.0\nHost: $host:$port\n\n");
// Skip HTTP-header
while (!feof($fp)) {
$line = fgets($fp, 1024);
if (trim($line) == '') break;
}
// Read body
$body = '';
while (!feof($fp)) { $body .= fgets($fp, 1024); }
fclose($fp);
return $body;
}
print get_url("www.pvv.ntnu.no", "/");
?>
Displaying of error messages
By default php error messages are not shown. For error messages to be shown, make the file .htaccess with the following content:
php_flag display_errors on
php_value error_reporting E_ALL
The file must be made in the catalog of the script that is to be run.