Locking user to browser window (using .dll files) - windows

Is it possible to lock a user in chrome using .dll files (NPAPI plugin) or any other method?
I want to invoke chrome browser in highly controlled environment preferably on Windows. I would download chrome for businesses and write policies such that user isn't allowed to access any url except one.
I would create a packaged app and create an application shortcut on desktop for user which goes to the url. So it will open in KIOSK mode. But I would want that user shouldn't be able to navigate away from chrome, specifically that window and shouldn't be able to use any other program until he logs out of the application or explicitly closes the window. That means disabling function /ctrl/alt and window keys.
Something like this but with chrome.
Even opening chrome itself in 'locked' mode is not a problem.
Has someone ever implemented it? Is it possible using NPAPI plugin or any other method? If anybody could direct me towards any such resources I would be grateful.

No, this is not realistically possible using an NPAPI plugin, at least not by itself. At minimum you'd need an extension (see http://npapi.com/extensions).
If you loaded it from an extension it might be possible to get the window handle of the browser and such, but I think you'd probably be better off with a separate app.

Related

Wrapper around web-app under Windows

I have an application with web interface. Unfortunately, it has all disadvantages of being a web page:
It doesn't have a standalone window, so users cannot manage it via the taskbar.
Users see the address line with something like 'http://localhost:8080' that is not a good idea for home users.
If users click on a tray icon, there is no way to activate the tab in a browser, which contain the application interface.
So, it would be nice to have a wrapper application with a browser within.
In case of IE I know it's possible to create a window with Trident ActiveX component. But what if it's Windows XP with IE6 but installed latest Chrome? I'd like to prefer Chrome since it supports a lot more features which the user will never see.
So, is there a way to wrap a page into Chrome/Firefox and make it look like a standalone application, if one of them is presented in the user's system? (The application shouldn't install anything large, so Chromium build is not an option).
P.S. I'm not interested in supporting other platforms than Windows.
Regards,
Take a look at Chrome Apps.
I hope helps you.

Firefox extension app hosted on server

I managed to create a Chrome extension pretty easy and the main application is hosted on my server allowing me to provide updates to the app itself without having to update the whole extension. I like the idea and I just want to know if it's possible to create a similar extension for Firefox where the main application is hosted on a live server.
In creating my Chrome extension, I followed a tutorial. The code for Chrome is included on the linked page.
It's possible to create a simple extension that loads a web app either in a panel or a tab. You should read up on the Addon SDK documentation, including the panel, tabs and getting started docs.
There is nothing wrong with this, as the web app would not have direct access to internal Firefox APIs. If you read the Addon guidelines closely that #makyen links to above, none of it covers this implementation detail. In their defence, they seem to have misinterpreted what you want to do. It looks to me like you just want to integrate / launch your web app from the browser UI?
Web application:
After finding the tutorial (please provide a link next time) I surmise you are referring to in your question, I suspect that what you are actually attempting to convey is different than how I initially interpreted your question. I have edited the question to make this more clear to people reading it in the future.
That tutorial is explaining how to place a link to a web application into the Chrome user interface. Such is, to a large extent, just a bookmark that is able to be placed within other areas of the user interface than the bookmarks bar.
If that is what you are wanting to do, then, yes, you can easily do so in Firefox. Given that the extension is not running external content in the security context of an extension (you are effectively just navigating to and displaying a website), then that should be fine as a Firefox extension. Note that you need to be sure that you are not granting elevated permissions when you launch the web application.
If running a web application is what you are wanting to do, then I suggest you might want to use different semantics to refer to what you are doing. The above is not a "Firefox extension app hosted on server". Saying it that way strongly implies that you are hosting the actual extension code on your own server. The rest of your question implies that the extension dynamically loads external code and runs it. I would suggest that you refer to it as something like: a web application that is launched (navigated to) by a Firefox extension allowing the web application to be started from an icon in the toolbar.
Extension running web sourced code:
However, if what you are wanting to do is have external content running as a Firefox extension, then implementing that functionality is a large security hole for anyone installing the extension. Even assuming that your intentions are totally benign, there is a huge security hole for anyone who is intercepting your traffic, or gains control of your server to inject code into Firefox that runs at the level of an extension (i.e. the malware can have full control of the browser and then of the computer).
Yes, it is currently possible for you to write this for Firefox.
However, given that the extension pulls code from something not packaged within the extension, the extension will never be permitted to be hosted on AMO.
In addition, the plan is that later this year there will be mandatory signing of Firefox extensions through Mozilla. I doubt that an extension like this will be permitted at that time.
You can read a set of Add-on guidelines on MDN.

Can an OS X app interact with the web browser?

I want to make a Mac app that is able to know things about the page the user is currently viewing.
Is this possible? I have 1Password installed, and it seems to be able to fill in forms, so it must be possible. Or am I mistaken in what is happening?
If that is what is happening, how does the Mac app find the current open window, find the forms on that page, and then enter the text into them?
I think 1password has an actual browser plugin, which a user would explicitly give permission to view their visited websites. I would imagine that's how it would be able to prefill forms automatically. If you write a browser plugin, you can do this too, but again by requesting permission from the user first.

Password manager type application, is this tough stuff?

There is a password manager application for the MAC, and I was curious as to how one would go about developing such a fine piece of software.
I don't know much about the mac, just getting into xcode and iphone development actually.
The idea is, when you are at a website, and login it pops-up and asks if you want to save the login/password to the application.
You can also click on a previously saved login, and it will open up firefox and login for you.
How would you know when a browser is open, and when a form gets submitted?
What kind of application would this be i.e. project type in xcode?
I'd start by reading up on KeyChain, since that already does most of the work 1password is doing (i.e. securely storing passwords). As for bring up a prompt in web browsers etc, that's just a plugin for each browser it works with, so you'd have to dive into the plugin documentation for each web browser you wanted to support.
In short, it's not mind bogglingly difficult, but it's not a small task by any means. If you don't care about the browser integration you could probably write a thin wrapper around KeyChain quite easily, though I've never done it, so don't take my word as gospel.

Is it possible to access Win API from Firefox/Internet Explorer toolbar extention?

We have an idea to develop a toolbar for major browsers on Windows.
The toolbar will be a compliment for our weather application.
We want the toolbar to have an access to Windows API, specifically we need Registry and file system access (want access main app user settings).
Is it possible with Firefox and Internet Explorer toolbar extentions?
Browser toolbar development is new grounds for me.
I just want to know if it makes sense to start the project.
You can access the registry and filesystem from Firefox using the existing XPCom interfaces that are already exposed for you.
Internet Explorer plug-ins are all native, so you're already writing Win32 and COM, so you just call whatever API you need. However, since you are most likely running in a low integrity process, you need to read this which will explain the limitations on registry and filesystem access that you will encounter. If you describe exactly what registry and filesystem locations you're interested in, I can give you a more detailed answer.
The filesystem can be accessed from a Firefox extension:
File System access from Firefox Extension
I don't know about Internet Explorer, but that seems like it would make sense.
As for Registry access in Firefox, see this:
https://developer.mozilla.org/en/accessing_the_windows_registry_using_xpcom
It sounds like it should all be possible. I didn't find anything about Internet Explorer, but it seems like that would be a feature that they would include. I don't like to mess with the registry since that is not cross-platform, but if you really need the user settings, then I guess you have a valid reason. Just remember that not all of your users will be using Windows, and Mac OS doesn't have a registry (neither does Linux), so try not to restrict yourself too much if you can avoid it.

Resources