<html> <head> <script language="javascript"> function run(strPath) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess); var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile ); file.initWithPath(strPath); process.init(file); process.run(false, [""], 1); } </script> </head> <body> <a href="javascript: void(0);" onclick="run('C:\\Windows\\calc.exe')">Click me!</a> </body> </html>
Below is a same functionality for Internet Explorer (windows only):
<html> <head> <script language="javascript"> function run(strPath) { var shell = new ActiveXObject("WScript.shell"); shell.run(strPath, 1); } </script> </head> <body> <a href="javascript: void(0);" onclick="run('C:\\Windows\\calc.exe')">Click me!</a> </body> </html>
2 comments:
Дима, как страшно жить. А если туда засунуть что-нибудь типа 'erase c:\*'?
Ещё совместимость с браузерами поражает. Под каждый свой код. В Опере не работает кстати.
Я теперь понимаю почему верстальщики так любят материть IE и прочую свору браузеров)
На самом деле маломальская защита в браузерах есть. IE и Firefox, например, блокируют такие скрипты, пока пользователь не разрешит их исполнить. Но если настроить браузер исполнять такие коды сразу, тогда уже не спастись.
Кстати в начале функции запуска внешней программы для Firefox как раз включается привилегия для такого запуска.
А верстальщикам, мне кажется, сейчас проще жить, чем лет 10 назад. Если Firefox и Chrome подвинут IE, тогда станет еще проще.
Post a Comment