logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • About
  • Customer panel Wsparcie techniczne
    • en
    • de
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Bezpieczeństwo skryptów raportów
  • Budowanie biblioteki libgdiplus ze źródła

    2 października 2020

    Korzystając z bibliotek FastReport.NET (Core), FastReport Open Source i FastReport Mono w systemie operacyjnym Linux,

    read more
  • Kompletacja FastCube.Core dla .NET 5.0

    10 maja 2021

    W dzisiejszych czasach narzędzia analityczne takie jak kostki OLAP są bardzo pożądane. Fast Report posiada

    read more
  • How to use Online Designer in ASP .NET Core

    17 stycznia 2018

    One of the novelties by FastReport .NET 2018 was the adaptation of OnlineDesigner to the

    read more
  • Jak migrować projekty z FastReport Open Source do FastReport Core

    9 marca 2019

    Właśnie pojawił się FastReport Open Source, ale mogę już przewidzieć niektóre pytania użytkowników. Ze uwagi

    read more
  • Podłączanie do Elasticsearch

    10 listopada 2021

    Teraz produkty FastReport .NET, Core, Mono i OpenSource umożliwiają łączenie się z Elasticsearch. Elasticsearch to

    read more

Bezpieczeństwo skryptów raportów

7 września 2020

FastReport .NET obsługuje obliczanie wyrażeń do wyświetlania wartości w żądanej formie, lub dowolnych warunków widoczności obiektu. Możliwe jest również przetwarzanie zdarzeń dla każdego obiektu raportu, np. przed jego wydrukiem. Procedury obsługi zdarzeń (event handlers) są umieszczone w skrypcie raportu, który obsługuje języki C# i VB.NET. Oprócz przetwarzania zdarzeń, skrypt może zawierać prawie wszystkie obliczenia lub czynności, które mogą generować niezbędne dane lub zmienić zachowanie raportu, zgodnie z wymaganiami twórcy szablonu raportu.

Przed zbudowaniem programu w języku skryptowym raportu, generator raportów uwzględnia wszystkie wyrażenia, funkcje i wywołania parametrów w raporcie. Następnie program jest łączony ze skryptem, który został napisany przez twórcę szablonu raportu. Powstały skrypt jest kompilowany i ładowany jako biblioteka do aplikacji, która współpracuje z generatorem raportów.

Report script security

Uruchamiając raporty w aplikacjach internetowych, można je edytować za pomocą programu Online Designer. Edycja odbywa się za pomocą przeglądarki, edytowany raport jest wysyłany do serwera, a następnie może być tam budowany. 

Raporty są edytowane przez zaufanych programistów i uruchamiane w izolowanym środowisku. Możliwość korzystania ze skryptów w raportach daje natomiast swobodę i niemal nieograniczone możliwości przetwarzania danych i wizualizacji. Edycja i wykonanie są pod kontrolą. Gdy tylko pojawia się możliwość ogólnego dostępu do edycji raportów przez przeglądarkę i Online Designer, powstaje pytanie o bezpieczeństwo raportów na serwerze. Istnieje możliwość wstrzyknięcia złośliwego kodu do skryptu i wyrażeń raportów.

Bezpieczeństwo skryptów raportów

Aby zapobiec wykonaniu złośliwego kodu w skrypcie i wyrażeniach raportów podczas pracy w sieci, w FastReport .NET 2020.3.22 dodano specjalne funkcje bezpieczeństwa. Zmiany dotyczą FastReport .NET, FastReport .NET Core, FastReport Mono i FastReport Open Source.

Funkcje bezpieczeństwa są domyślnie aktywne, ale programiści mogą je zmieniać lub wyłączać w swoich aplikacjach w zależności od potrzeb.

Nowe właściwości i metody:

bool FastReport.Utils.Config.EnableScriptSecurity – włącza lub wyłącza sprawdzanie skryptu raportu. Działa tylko wtedy, gdy raporty są uruchamione w aplikacjach internetowych (FastReport.Utils.Config.WebMode == prawda). Wartością domyślną jest Prawda (włączona).

event FastReport.Utils.Config.OnEnableScriptSecurityChanged – zdarzenie jest wywoływane, gdy EnableScriptSecurity zostało zmienione. Możliwość wykorzystania do dodatkowych kontroli bezpieczeństwa.

FastReport.Web.WebReport.SetScriptSecurity(IScriptChecker scriptChecker) – ustanawia niestandardową implementację metody weryfikacji, która jest nadrzędna w stosunku do wbudowanych metod kontroli bezpieczeństwa.

ScriptSecurityProperties FastReport.Utils.Config.ScriptSecurityProps – parametry do konfiguracji kontroli bezpieczeństwa skryptu. Zawiera wartość NULL, jeżeli nie jest uruchomiona żadna aplikacja internetowa. (FastReport.Utils.Config.WebMode == fałsz).

bool FastReport.Utils.Config.ScriptSecurityProps.AddStubClasses – włącza lub wyłącza dodawanie klas stub do skryptu. Wartością domyślną jest Prawda domyślnie (włączona). Nie pokrywa się z instalacją własnego programu SetScriptSecurity (patrz wyżej).

event FastReport.Utils.Config.ScriptSecurityProps.OnStopListChanged – zdarzenie jest wywoływane, gdy lista StopList została zmieniona. Możliwość wykorzystania do dodatkowych kontroli bezpieczeństwa.

string[] FastReport.Utils.Config.ScriptSecurityProps.StopList – lista słów kluczowych, które nie powinny być używane w skrypcie raportu. Zawiera domyślną listę słów.

FastReport.Utils.Config.ScriptSecurityProps.SetDefaultStopList() – ustawia domyślną wartość StopList (odrzuca zmiany).

Opracowany kompleks ochrony skryptów raportów pozwala zminimalizować zagrożenie wstrzyknięcia złośliwego kodu i jego wykonania po stronie serwera.

Bezpieczeństwo skryptów raportów

Należy pamiętać, że nawet wykorzystanie wbudowanych kontroli bezpieczeństwa skryptów raportów nie zapewnia stuprocentowej ochrony przed wstrzyknięciem złośliwego kodu do zapisanych szablonów. Zdecydowanie zalecamy więc prowadzenie dzienników dostępu w aplikacjach internetowych i umożliwienie edycji szablonów raportów ograniczonej liczbie uprzywilejowanych użytkowników. 

about product zamów
avatar
Aleksandr Fediashov
Fast Reports Team: Aleksandr Fediashov - Team Lead at Fast Reports
.NET Core Open Source Script

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • FAQ
  • Tutorial Video
  • Forum
  • Support SLA
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2023 by Fast Reports Inc.

  • Poufność

Trustpilot