Ja ik print ze natuurllijk wel af, dat had ik ook al door..
Als ik phpinfo(), nogmaals doe dan zie ik daar staan : safeMode:OFF;
Het is wel de mod_php versie die ik in gentoo heb gemerged, ik weet niet of er alles in zit maar ik dacht het wel...
Als safeMode afstaat, en er in php.ini er bij de disable functions nergens exec ofzo bijstaan dan is er toch iets anders niet pluis.
Dit is trouwens mijn php code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <?php
mysql_connect("localhost","***","***") or die("Kan de database server niet vinden");
mysql_select_db("tuinberegening") or die("Kan de database niet selecteren");
$f=fopen("/var/www/localhost/htdocs/test.txt","w");
$tijd=date("H:i");
fwrite($f,$tijd."\n");
$output="";
$qryAansturing="SELECT * FROM zones ORDER BY id ASC";
$resAansturing=mysql_query($qryAansturing);
while($a=mysql_fetch_array($resAansturing)){
$waarde=-1;
$qryVelden="SELECT * FROM velden WHERE zonenr='".$a['id']."'";
$resVelden=mysql_query($qryVelden);
while($v=mysql_fetch_array($resVelden)){
if($v['tijd']==$tijd){
if($v[stop]==1){
$waarde=0;
}else{
$waarde="1";
}
}
}
if($waarde==-1){
$waarde=0;
}
$output.=$waarde;
}
$output.="000";
echo($output);
$dec=0;
$n = strlen($output) - 1;
$k=0;
for($t=7;$t>=0;$t--){
$x = substr($output, $t, 1);
if($x=="1"){
$dec+=pow(2,$k);
}
$k++;
}
exec("./kernel 128");
echo("<p>".$dec);
?> |
En dit de c code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <asm/io.h>
#define base 0x378 /* printer port base address */
main(int argc, char **argv)
{
int value;
if (argc!=2)
fprintf(stderr, "Error: Wrong number of arguments. This program needs one argument which is number between 0 and 255.\n"), exit(1);
if (sscanf(argv[1],"%i",&value)!=1)
fprintf(stderr, "Error: Parameter is not a number.\n"), exit(1);
if ((value<0) || (value>255))
fprintf(stderr, "Error: Invalid numeric value. The parameter number must be between 0 and 255\n"), exit(1);
if (ioperm(base,1,1))
fprintf(stderr, "Error: Couldn't get the port at %x\n", base), exit(1);
outb((unsigned char)value, base);
} |
Met die code kan ik bepaalde pinnen van mijn lpt poort hoog en laag zetten.
Het c programma werkt perfect, als ik via commandline ./kernel waarde invoer dan doet het ding perfect wat ik ervan verwacht dat het doet.. Het zit hem dus echt in de php code en nog meer in die exec().
[
Voor 86% gewijzigd door
bibawa op 02-04-2006 22:45
]