Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Ochrona skryptu przed wieloma uzytkownikami jednoczesnie
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam


Napisalem skrypt ktory pobiera dane z pewnej stronki do ktorej bedzie mialo dostep wiele osob.
Skrypt wyglada nastepujaco :

Kod

<?php

$code = $_POST['kod'];
$name =  $_POST['imie'];

fopen('test.xml', 'a');

$file='test.xml';
chmod($file,0666);

$filename = 'test.xml';
$data = '<?xml version="1.0" encoding="utf-8"?><zapytanie><imie>'.$name.'</imie><kod>'.$code.'</kod></zapytanie>';
//$file_path = ".;c:\Program Files\WebServ\cUrl";


if(!function_exists('file_put_contents')) {
     function file_put_contents($filename, $data) {
       $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
         if(!$fp) {
           trigger_error('file_put_contents cannot write in file.', E_USER_ERROR);
           return;
         }
       fwrite($fp, $data);
       fclose($fp);
     }
   }

file_put_contents($filename, $data);


$ch = curl_init();

//curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_NOBODY, 1);

$data = array('xml' => file_get_contents('test.xml'));

curl_setopt($ch, CURLOPT_URL, 'http://[jakishost]/test/zgloszenie.php');
//curl_setopt($ch, CURLOPT_URL, 'http://[jakishost]/test/weryfikacja.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


$output = curl_exec($ch);
echo $output;
if (curl_errno($ch)) {
     echo 'Błąd #' . curl_errno($ch) . ': ' . curl_error($ch);
}

curl_close($ch);

$file2 = 'back.xml';

$fo = fopen($file2, "a");
flock($fo, 2);
fwrite($fo, $output);
flock($fo, 3);
fclose($fo);
?>



Sprawa wyglada tak , ze uzytkownik wpisuje swoje imie oraz unikatowy kod do formularza.Wciskajac przycisk akceptacji uruchamia powyzszy skrypt.Skrypt zapisuje jego dane w pliku xml i wysyla na inny serwer. Na owym serwerze jest skrypt zgloszenie.php ktory odsyla takze xml-a z odpowiedzia czy zgloszenie jest poprawne (weryfikuje kod). Odeslany plik xml jest zapisywany przez moj skrypt do pliku back.xml.
Moje pytanie brzmi.
Czy istnieje w tym przypadku zagrozenie, iz korzystanie dwoch czy wiecej osob z tego skryptu jednoczesnie moze zaklocic jego dzialanie?
Czy istnieje mozliwosc nadpisania danych zapisywanych w pliku test.xml jednego uzytkownika przez drugiego?
Jesli tak to jak sie przed tym ustrzec ?

Ten post edytował Wolfie 17.12.2008, 10:42:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 22:37