AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sicherheitsmeldungen unterdrücken

Ein Thema von norwegen60 · begonnen am 15. Nov 2016 · letzter Beitrag vom 16. Nov 2016
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#1

Sicherheitsmeldungen unterdrücken

  Alt 15. Nov 2016, 21:53
Hallo,

ich habe in meinem Programm eine Möglichkeit geschaffen, dass man einem User ein Mail mit einem Link schickt mit dem er mein Programm mitdem im Link angegeben Projekt startet. Da man Hyperlinks keine Parameter übergeben kann, erstelle ich dazu eine Batchdatei die z.B. den Aufruf
Code:
ECHO OFF
l:\DoQMa\program\doqma_s.exe /P:15068
In doqma_s wird über CallNamedPipe geprüft ob die wirkliche Anwendung bereits läuft und wenn ja das entsprechende Projekt geöffnet. Wenn nicht öffnet doqma_s die Anwenung zusammen mit dem Parameter, so dass ebenfalls gleich das Projekt geöffnet wird.

Das funktioniert auch einwandfrei.
Das Unschöne:
  • Da die Batch-Datei in einem Server-Verzeichnis liegt kommt eine Sicherheitswarnung, dass der Urheber der Batch-Datei nicht bekannt ist
  • Dann zeigt sich das CMD-Fenster
  • Und wenn dort die EXE ebenfalls vom Server aufgerufe wird, kommt wieder eine Sicherheitswarnung, dass der Urheber der EXE nicht bekannt ist
Wie kann ich diese nervigen Meldungen vermeiden?

Vielen Dank
Gerd
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#2

AW: Sicherheitsmeldungen unterdrücken

  Alt 15. Nov 2016, 21:58
Guck mal hier bei MSDN. Vielleicht hilft das ja in irgendeiner Art und Weise.

How to bypass the security warning "Unknown Publisher" with the checkbox "Always Ask Before Opening this File"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 04:28
Code:
l:\DoQMa\program\doqma_s.exe?/P:15068
Leider wurde beim File-Protokoll vergessen die Parameter durchzureichen, bzw. die werden nur vom Browser interpretiert und der Brwoser gibt nur Alles vor dem ersten ? und # an das Dateisystem durch.

Aber man kann auch einen Bei Google suchencustom protocol handler in delphi registrieren.
Code:
doqma://P=15068
$2B or not $2B
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#4

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 07:43
Leider wurde beim File-Protokoll vergessen die Parameter durchzureichen, bzw. die werden nur vom Browser interpretiert und der Brwoser gibt nur Alles vor dem ersten ? und # an das Dateisystem durch.
Das versteh ich jetzt nicht ganz. Mein Code stammt aus der erzeugten Batchdatei und der Parameter wird auch sauber weitergereicht.
Mein Problem sind die Sicherheitswarnungend die beim Aufruf von ausführbaren Dateien auf Server-Laufwerken erzeugt werden.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 11:32
Ursache Deines Problems dürfte der Inhalt des Zone Identifiers sein. Ansehbar ist er z. B. über
Code:
Notepad doqma_s.exe:zone.identifier
Die entsprechende Datei sieht inhaltlich in etwa so aus:
Code:
[ZoneTransfer]
ZoneId=3
Es handelt sich dabei strukturell um eine einfache Ini-Datei.

Siehe u. a.: https://msdn.microsoft.com/en-us/library/dn392609.aspx
https://msdn.microsoft.com/en-us/library/ms537183.aspx

Was Du jetzt noch herausfinden musst ist, welchen Wert Du bei ZoneId=3 eintragen musst, um die Sicherheitsabfrage zu verhindern.

Habe auf meinem Rechner nur den Wert ZoneID=3 finden können, vermutlich bekomme ich deshalb die Meldung nicht zu sehen.

Ob es eine entsprechende Datei für Dein Programm gibt, kannst Du z. B. so feststellen:
Delphi-Quellcode:
function ZoneIdentifierExists(sFileName : String) : Boolean;
begin
  Result := GetFileAttributes(PChar(Format('%s:Zone.Identifier',[sFileName]))) <> -1;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 13:48
Das mit dem zone.identifier hilft hier nichts, denn dafür muß sein Programm die Batch erstmals starten, damit das geändert werden kann.

"Ordentliche" Browser/FileDonwnloader kenzeichnen runtergeladene Dateien als Solche, damit man sie eben nicht ohne Rückfrage starten kann.


Achso, dachte die Meldung kommt bereits beim Start der Batch.
$2B or not $2B

Geändert von himitsu (16. Nov 2016 um 13:51 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 14:51
Und selbst, wenn die Meldung bei der Batchdatei kommt, dann muss halt deren Zone.Identifier angepasst werden.

Eventuell auch beide
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#8

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 17:03
Ich habe
Zitat:
Notepad l:\doqma\program\doqma_s.exe:zone.identifier
ausprobiert. Da kommt die Meldung dass die Datei "l:\doqma\program\doqma_s.exe:zone.identifier" nicht gefunden wurde. Um sicherzustellen dass der Pfad stimmt habe ich "Notepad l:\doqma\program\doqma_s.exe" aufgerufen und da werden die Binarys angezeigt. Habe ich da was falsch verstanden? Da muss ich mich noch durch die MSDN durcharbeiten.

Die Meldung kommt auch schon beim Aufruf der Batch. Die Batch selber wird auch als potentiell gefährlich eingestuft. Passiert aber auch, wenn ich eine einfache Batch mit "echo off" per Doppelklick auf einem Netzlaufwerk starte. (s.Anhang)
Miniaturansicht angehängter Grafiken
sicherheitswarnung.png  
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#9

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 17:13
Ausgelöst wird die Meldung wahrscheinlich von NTFS ADS, mit dem bereits genannten Zone.Identifier. Diese kann man löschen, z.B. mit Sysinternals Streams. IIRC gibt es noch eine Einstellung im IE, mit der man das Verhalten steuern kann; vielleicht hilft schon Systemsteuerung > Internetoptionen > Register Sicherheit > Lokales Intranet > [ ] Intranetnetzwerk automatisch ermitteln (ist die Option aktiviert, stuft Windows sehr gern Server im LAN als im Internet befindlich ein).

Grüße
Dalai
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: Sicherheitsmeldungen unterdrücken

  Alt 16. Nov 2016, 17:14
Naja, ween Notepad sagt, die Datei gibt es nicht, dann gibt es sie nicht und kann somit nicht Ursache des Problemes sein.

Gibt es denn die
Code:
Notepad pfadundnamederbatchdatei.bat:zone.identifier
Dann schau, was da drinne steht und ändere es ggfls.

Ansonsten liegt das Problem noch woanders.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz