Mal aus unserer Sicht, wie sowas aussieht - weil es wieder passiert ist:
Ich hab gestern die Zugriffszahlen einer anderen Seite von mir anschauen wollen, wobei mir in dann mycsharp.de aufgefallen ist. Ist mir ins Auge gesprungen, da der Gateway für mycsharp.de alleine 434.000 Unique Users im November anzeigt - was eine Explosion der Besucherzahlen wäre, was unwahrscheinlich ist.
Der Gateway sammelt von Haus aus GDPR-konform anonyme Daten, wozu die Anzahl der User Agents gehört (nicht mehr). Und hier sieht man dann die Ursache:
Weiteres:
Da stellt man sich schon die Frage, ob man in 2026 so eine Seite/ein Forum noch betreiben soll.
Der Teil
webViewCharts.CoreWebView2.Settings.IsGeneralAutofillEnabled = true;
webViewCharts.CoreWebView2.Settings.IsPasswordAutosaveEnabled = true;
bringt nur die Edge Engine dazu, dass dessen eingebauter Password-Manager getriggert wird.
Alle anderen Engines/Password-Manager triggern hier nicht bzw greifen auch die globalen + User Edge Settings hier.
if (File.Exists(PfadZurLoginXML){ LadeLogindatenAusXML(); }
Das ist eines der schlimmsten Dinge, die man mit Credentials tun kann. Den Windows Credential Manager gibt es nicht umsonst.
Mit jeder Versionsänderung von Office kann es sein, dass Du Deine Anwendung für Automation anpassen musst. Das war schon immer so, und wenn das bisher nicht der Fall war, war das reines Glück.
Automation über COM ist auch schon seit ~15 Jahren (seit Office 2013) nicht mehr der präferierte Weg, sondern OpenXML bzw. die JavaScript Schnittstellen bzw je nach Deinen gewünschten Funktionalitäten die Office 365 APIs. Spätestens mit dem Wechsel von Office auf Web-Oberflächen, was mit dem neuen Outlook schon begonnen hat, funktioniert COM eh nicht mehr. COM wird hier nicht mehr supported, auch VBA nicht mehr.
PS: Die Marketingsversionen wie Office 2024 bzw Office 365 etc sind nichtssagend. Daran kann man nicht mehr erkennen, welche Versionen wirklich drunter sind. Relevant sind die Versionen der Apps wie Word oder Outlook.
Microsoft® Outlook® for Microsoft 365 MSO (Version 2510 Build 16.0.19328.20244) 64-bit
SIehe auch https://learn.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date
Zitat von Palladin007
Wenn Du das im User Agent sehen kannst, wäre es nicht eine Option, solche Requests zu blockieren?
Das ist mittlerweile passiert. Und mittlerweile gibt es auch eingebaute Funktionalitäten wie zB von Cloudflare für entsprechende Blocks.
Wir haben schon immer gewisse UA und Länder geblockt durch die Azure Frontdoor. Aber wenn der Hersteller seinen UA einfach ändert...
Aber ja.. hilft alles nur bedingt. Die Großen nehmen sich was sie wollen, bauen damit Produkte - auf Kosten anderer. Wehren kennst dich einfach nicht.
Das ist definitiv der Fall. Absolut. mycsharp.de trifft das wie alle anderen Seiten auch.
Ich hab in meiner Bubble einige Betreiber von Seiten (andere Foren, Newsseiten) und die verzeichnen durchweg einen Trafficverlust von 30-70%. In einem Fall sogar 90%. Das trifft die teilweise so hart, dass eine primäre Einnahmequelle (Werbung auf den Seiten) um noch höhere Prozentwerte gefallen sind.
Das bedeutet in zwei Fällen, dass die Seiten Ende 2025 offline genommen werden, weil finanziell nicht mehr tragbar.
Selbst große Plattformen wie StackOverflow haben 50% weniger Traffic, seit es ChatGPT gibt ⇒ https://blog.pragmaticengineer.com/are-llms-making-stackoverflow-irrelevant/
Unser Peak die letzten 5 Jahre (nur die Daten habe ich) war 22 Millionen Requests/Monat und etwa 235.000 eindeutige Benutzer/Monat.
Bei myCSharp war das etwas später als bei den anderen Betreibern in meiner Bubble, aber seit ca. März/Februar diesen Jahres hat es sich ebenfalls halbiert.
Kurioserweise habe ich deutlich mehr Traffic auf anderen Seiten von mir (https://benjamin-abt.com / https://dotnet.rest / https://dools.dev), wo es auch durchaus im Wissen geht - aber myCSharp hat prozentual mit Abstand den größten Trafficeinbruch.
Ich sehe mehrere Gründe:
Der letzte Punkt war im April 2024 am extremsten: der AnthropicAI Crawling Bot hat 94% des Traffics des Forums verursacht. Das ist wahnsinnig.
Wer also Claude verwendet, verwendet automatisch ein bisschen mycsharp.de
Verwende mal curl oder openssl zur Verifizierung Deines Endpunkts und des Cert-Files.
Dein Java Code ist fundamental anders als Dein C# Code inkl. anderer funktionsweise.
Habs verwechselt, bitte zeig einen vergleichbaren Client
Bei einem vergleichbaren Java-Client sowie einem Python-Client kann der Server das erste Zertifikat erfolgreich verifizieren und PHP meldet: SSL_CLIENT_VERIFY: SUCCESS
Ich sehe prinzipiell keinen Fehler hier im C# Code.
Sofern Dein p12 den Private Key und das Intermediate beinhaltet, sollte das klappen. Mein Code sieht beim Laden ähnlich aus:
X509Certificate2 cert = new("my.p12", "passwort", X509KeyStorageFlags.EphemeralKeySet);
handler.ClientCertificates.Add(cert);
Restlicher Code bei mir ist funktional identisch.
Wie sieht denn Dein funktionierender PHP Code aus?
Du kannst das auch alles mit openssl oder curl verifizieren. So können wir aktuell nichts vergleichen, was Du eigentlich machst.
Warum steht hinter dem Namen noch xmlns="" und wie kann ich das verhindern?
Weil so Namespaces in XML funktionieren. Namespaces machen eine Node eindeutig, daher gehört ein Namespace - wenn er gesetzt ist - zur Identität (Name) einer Node.
Willst Du den Namespace in dem Nodename nicht, dann musst Du LocalName verwenden.
Edit and Continue, also Code während dem Debuggen ändern, geht nicht überall. Es kommt also drauf an, was Du machst.
- Nicht jede Methode kann in EnC geändert werden (zB Signatur nicht), oder wenn Methode async/await ist.
- Namespaces ändern geht nicht
- Neue Klassen hinzufügen geht nicht
Dann gibt es wieder Tage, da kann ich ganze Programm umschreiben ohne den Debug-Modus zu verlassen.
Das ist dann einfach nur Glück, weil Du dann nur Code änderst, der kompatibel mit EnC ist.
Böse ausgedrückt: viel kannst nicht coden, wenn Du den ganzen Tag in EnC hängst 😃