Entwickler-Ecke
Sonstiges (Delphi) - Registry lesen mit ActiveX aus Website heraus???
EbbiDos - Fr 02.06.06 05:16
Titel: Registry lesen mit ActiveX aus Website heraus???
Hi!
Ich progge momentan ein Verwaltungsprogramm mit PHP+MySQL, da der "Auftraggeber" von jedem Rechner auf der Welt (mit INet) verwalten möchte. Das Prog besitzt MultiUser-Management (wie ein Forum) und konfigurierbare Zugriffsrechte...
Nun möchte der Auftraggeber manchen Nutzern nur an einem bestimmten PC gewisse Zugriffsrechte erlauben -> bspl. am Büro-Rechner darf er alles und vom Heim-PC darf er nur bestimmte Aktionen durchführen.
Ich möchte dieses Feature mit einem Registry-Eintrag bewerkstelligen. Wenn die Login-Seite im Browser aufgerufen wird, soll ein ActiveX den Registry-Eintrag lesen und mithilfe von Javascript an eine <form>...</form>-Struktur übergeben. Nachdem der Nutzer den Login-Button gedrückt hat, übernimmt das PHP-Prog die Auswertung des Registry-Eintrags.
...Soviel als Hintergrundinfo...
Nun zu meinem Problem: Ich bin jungfräulicher ActiveX-Einsteiger. :shock:
Deshalb Frage 1) Wie erstelle ich in Delphi ein nicht-sichtbares ActiveX, dass sich als <object ...></object> in HTML einbinden lässt und zudem nicht mehr können muss, als eine Funktion bereitzustellen, die ich mit Javascript aufrufen kann?
(Das ActiveX soll Client-seitig ausgeführt werden und die enthaltene Funktion liest den Registry-Eintrag)
Frage 2) als was compilieren OCX, DLL, oder was?
Frage 3) classid bzw. GUID -> lässt sich das Registrieren oder Installieren des ActiveX-Dingens auf dem Client-PC für den Nutzer damit unsichtbar "steuern"? (Trojaner können das ja auch irgendwie...) Ich möchte nach Möglichkeit dann im Browser keine Meldung angezeigt bekommen: "...wollen sie das Programm installieren...?"
Ich hoffe, jemand kann mir da weiterhelfen...
digi_c - Fr 02.06.06 08:11
1.+2. Datei-Neu-ActiveX(Was genau weiß ich aber auch nicht :( Rest wird automatisch gemacht
3. Nein die normale Zone verbietet das, dafür extra Exploits zu verwenden halte ich für bedenklich bzw. es ist nicht sichergestellt, das die funktionieren.
Kann man sowas nicht direkt clientseitig über Javascript machen? Firefox unterstützt z.B. kein ActiveX. Oder ich würde das irgendwo auf Serverebene probieren zu verankern... Bin aber kein Web-Entwickler...
EbbiDos - Fr 02.06.06 08:40
Ich hatte mich bereits mit den Wizards von Delphi auseinandergesetzt, aber die wollen immer nur TActiveForm oder ActiveX-Komponenten (VCL) erstellen.
Das ActiveX soll im Grunde nichts anderes können als eine DLL, in der eine einzige Funktion gekapselt ist (z.B. function GetVersion: PChar; export;)
Entweder hab ich die entsprechenden Einstellungen noch nicht gefunden, oder es gibt sie einfach nicht in den Wizards.
Mit Javascript geht das nicht. Ich hab zwar nicht nachgesehen, aber Javascript ist Betriebssystem-unabhängig und wenn schon Datei-Handling nicht geht, bin ich mir ziemlich sicher, dass das Registry-Lesen erst recht nicht geht.
mkinzler - Fr 02.06.06 08:43
Zitat: |
Kann man sowas nicht direkt clientseitig über Javascript machen? |
Dann würd ich mir stark überlegen ins Internet zu gehen :-(
Über ActiveX ist es schon möglich, MS macht das beim Automatischen Update auch nichts anders. Mit einem signierten Java-Applet könnte es auch funktionieren. Ich würde aber versuchen eine andere Lösung zu finden.
digi_c - Fr 02.06.06 11:00
Knackbar ist alles, darüber müssen wir ja nicht diskutieren. Das beste wäre wirklich ein MAC Filter auf dem Server, der durch PHP gemanaget würde. Aber auch MACs kann man ja verzerren ;-)
69hamsta69 - Fr 02.06.06 11:05
Titel: Re: Registry lesen mit ActiveX aus Website heraus???
EbbiDos hat folgendes geschrieben: |
Wie erstelle ich in Delphi ein nicht-sichtbares ActiveX, dass sich als <object ...></object> in HTML einbinden lässt und zudem nicht mehr können muss, als eine Funktion bereitzustellen, die ich mit Javascript aufrufen kann?
(Das ActiveX soll Client-seitig ausgeführt werden und die enthaltene Funktion liest den Registry-Eintrag)
|
ActiveX tutorial ->
http://dsdt.info/tutorials/activex/
LG hamsta
EbbiDos - Fr 02.06.06 21:50
Titel: Re: Registry lesen mit ActiveX aus Website heraus???
Ich hatte bereits erwähnt, dass die Wizards nur VCL oder TActiveForm-Applikationen erstellen. Das Tutorial nutzt auch nur die Wizards von Delphi. Damit kann ich aber keine
nicht-sichtbaren ActiveX-Anwendungen erstellen.
Ich geb einfach mal Code-Äquivalent einer DLL an:
accctrl.dpr
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| library accctrl;
uses ComServ, main;
exports GetRegUsers;
{$R *.RES}
begin end. |
und
main.pas
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| unit main;
interface uses Windows,Registry;
function GetRegUsers: PChar; export;
implementation
function GetRegUsers: PChar; var reg: TRegistry; val: String; begin reg := TRegistry.Create(KEY_READ); try reg.RootKey := HKEY_LOCAL_MACHINE; if reg.OpenKey('SOFTWARE\TEST',false) then begin val := reg.ReadString('users'); reg.CloseKey; end; finally reg.Free; end; Result := PChar(val); end;
end. |
Mehr soll das ActiveX auch nicht machen.
EbbiDos - Sa 03.06.06 21:14
bumb
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!