Ich muss ständig kleine 10-zeilige Code-Snippets für Kunden-Websites machen. Andere Leute in meinem Büro bitten mich nun, den Code in DLLs zu speichern, da der Code manchmal ein Passwort für einen Webservice von Drittanbietern oder etwas ähnliches mit ähnlicher Sicherheit enthält. Ist es tatsächlich sicherer, wenn es zu einer DLL kompiliert wird?
Es ist wahrscheinlich etwas sicherer, aber nicht sehr viel. Wenn Sie keine Schritte unternehmen, um die Kennwörter zu verschlüsseln, ist es nur wenig schwieriger, eine DLL in einem Binäreditor zu öffnen und nach Kennwörtern zu suchen, wenn Sie vermuten, dass in der DLL etwas Interessantes zu finden ist.
Beide Ansätze sind nicht sehr sicher.
Der C # -Code im Skriptblock wird immer noch in einen Skriptblock kompiliert. Der Unterschied ist, dass das aspx (vermutet), in dem es lebt, auf dem Server veröffentlicht wird. Wenn der Client darauf zugreifen kann, ist Code-Sicherheit das letzte, worüber er sich Sorgen machen muss.
Dasselbe gilt für die DLL. Vermutlich ist dies eine Webanwendung. Der Client sollte niemals Ihre DLLs haben (die sowieso dekompiliert werden können!).
Wenn seine Dinge wie db-Verbindungszeichenfolgen mit Passwortinformationen darin sind, können Sie das in den Abschnitt connectionStrings der Datei web.config einfügen. Und dann können Sie diesen Abschnitt der Datei web.config verschlüsseln. Und Sie sollten weiterhin in der Lage sein, auf diese Verbindungszeichenfolgen von C # -Scriptblöcken in den aspx-Seiten zuzugreifen.