Speakman brukar ha bra koll på det mesta inom Linux, men han har nog inte sett dagens inlägg än.

Man kanske kan spara ut allt som skapas i /proc/"PID"/fd..
Jag har kikat lite på det men inte kommit på exakt hur än.
Det där har inte så mycket med saken att göra. Apache, som standard, forkar sin egen process under en annan användare med sämre rättigheter, ibland "nobody" och ibland "daemon". Om sen föräldraprocessen så är medlem i root eller farmors_syklubb spelar ingen roll, du får ändå EACCESS.JimmyAndersson skrev:Men frågan är varför. www-data är ju den användare som apache använder. Den tillhör gruppen dialout.
Med tanke på att det handlar om säkerhet, så.JimmyAndersson skrev:Nä du, man ska inte behöva motivera varför man vill använda något i ett projekt.
Kod: Markera allt
<html>
<head>
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" alink="#FFFFFF" vlink="#FFFFFF">
<center>
<form method="get" action="example.php">
Position:<input type="text" name="position" value="
Kod: Markera allt
EDIT 2:
-- Klippte bort koden eftersom en mer fullständig version finns i nästa inlägg.
Kod: Markera allt
<head>
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" alink="#FFFFFF" vlink="#FFFFFF">
<center>
<form method="get" action="example.php">
Position:<input type="text" name="position" value="<?php
include "php_serial.class.php";
// Let's start the class
$serial = new phpSerial;
// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("/dev/ttyS0");
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->confCharacterLength(8);
// Then we need to open it
$serial->deviceOpen();
$file = "position.txt";
!$file_handle = fopen($file,"r");
!$startposition = fread($file_handle, filesize($file));
fclose($file_handle);
$message = chr(0x02).chr(0x30).$startposition.chr(0x03);
$serial->sendMessage($message);
$position = $_GET["position"];
if($position > 999 || $position < 0){
echo "Error, keep number between 0 and 999";
} else {
$message = chr(0x02).chr(0x30).$position.chr(0x03);
$serial->sendMessage($message);
echo $position;
if (!$file_handle = fopen($file,"w")) { echo "Cannot open file"; }
!fwrite($file_handle, $position);
fclose($file_handle);
}
// If you want to change the configuration, the device must be closed
$serial->deviceClose();
?>">
<br>
<br>
<input type=submit value="Send!">
</form>
</center>
</body>
</html>