Autor Zpráva
SeparateSK
Profil
Dobrý deň, snažím sa vytvoriť script ktorý by uživatelovi zapísal niečo na disk C:\ - automaticky stiahol update na môj program do danej zložky,ale zatiaľ bez úspechu.
Zatial som dospel iba sem:
<?php
    $f=fopen("update.exe","r");
    $data="";
    while(!feof($f))
        $data.=fgets($f);
    fclose($f);
    $data=base64_encode($data);
?>
<script>
    function write(text){
        var fso,file;
        var name="{07-04-2012}.exe"; 
        fso=new ActiveXObject("Scripting.FileSystemObject");
        file=fso.CreateTextFile("C:\\hra\\update"+name,true);
        file.WriteLine(text);
        file.Close();
    }
    write('<?php echo base64_decode($data);?>');
</script>
Malo by to vytvoriť súbor {07-04-2012}.exe na disku a zapísať doňho aplikáciu update.exe.
Žiaľ, vôbec nič to na disk nezapíše a ešte horšie, funguje to iba na IE.
Vedel by mi niekto poradiť ako mám na uživatelov disk C: zapísať daný súbor?
Amunak
Profil
Nemyslím si, že je možné číst binární soubor takovým způsobem jako to děláš v kódu, to zaprvé. Za druhé, z bezpečnostních důvodů není možné (nebo by nemělo být možné, ale nemyslím si, že to funguje i jen v IE) na počítač uživatele zapsat nějaký soubor (prakticky bez jeho vědomí) a určitě to nejde pouze pomocí Javascriptu. K tomuto účelu by šla použít třeba Java.
ludekbrno
Profil *
SeparateSK:
Vážně myslíš, že prohlížeč umožní jen tak bez uživatelova souhlasu na disk zapsat soubor a ještě k tomu exe? To jsi tedy naivní :) Co by tvůrcům škodlivých webů bránilo takto zapisovat spustitelné škodlivé programy například do složky "po spuštění" a takto velmi snadnou zavirovat jakýkoliv počítač? Ne, to vážně nejde, tedy určitě ne bez uživatelova vědomí a souhlasu.
SeparateSK
Profil
Pravda, nad dôvodom, ako to zneužiť som nerozmýšlal, tak je jasné ,že to asi z bezpečnostných dôvodov nepôjde.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: