• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Szukam biblioteki do formatowania danych przesłanych z formularza w node js

Aruba Cloud - Virtual Private Server VPS
+1 głos
200 wizyt
pytanie zadane 25 stycznia 2021 w JavaScript przez Piotr Kułakowski Początkujący (390 p.)
edycja 25 stycznia 2021 przez Piotr Kułakowski

Cześć,
Robię pewną stronę, na której jest formularz wysyłający emalia i szukam biblioteki, która umożliwiła by mi formatowanie danych przesłanych z tego formularza jeśli np. ktoś do formularza wpisał by kod HTML lub JavaScript. Walidacje tego formularza już zrobiłem w ten sposób:

exports.validate = [
    check('name').trim().isString().isLength({ min: 1 }).withMessage('*To pole musi zostać wypełnione!'),
    check('email').trim().isString().isLength({ min: 1 }).withMessage('*To pole musi zostać wypełnione!').isEmail().withMessage('Zawartość tego pola nie jest email-em'),
    check('subject').trim().isString(),
    check('message').isString(),
];

i wiem, że mógłbym tutaj użyć funkcji `.matches()` i w nawiasach dać odpowiedni obiekt Regex, ale niestety nie znam, aż tak dobrze regular expression i nie wiem za bardzo jak mógłbym taki regular expression napisać. W takim razie czy jest jakaś biblioteka do NodeJs, która dała by mi możliwość formatowania danych przesyłanych z tego formularza w taki sposób, żeby jeśli np. ktoś wprowadzi kod HTML do formularza to żeby funkcja z tej biblioteki usuwała np. tagi HTML albo coś w tym stylu, czyli po prostu zmieniała ten kod na zwykły tekst i potrzebował bym coś podobnego, gdyby ktoś wprowadził kod JavaScript do formularza i taka funkcja zmieniała bym ten kod w zwykły tekst. Jesli jednak nie ma takiej biblioteki, to prosił bym o podanie dwóch obiektów regular expression, które dały by mi możliwość sprawdzenia czy do formularza został wprowadzony kod HTML lub JavaScript.

Pozdrawiam i z góry dziękuję.

komentarz 25 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)

Tym, o co pytasz jest bardziej sanityzacja kodu niż jego formatowanie.

Czy korzystasz obecnie z jakiejś biblioteki lub frameworka na backendzie? Może on ma już wbudowany taki ficzer, tylko trzeba poszukać w jego API?

1
komentarz 25 stycznia 2021 przez Piotr Kułakowski Początkujący (390 p.)
Korzystam z expressa

1 odpowiedź

+1 głos
odpowiedź 25 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)

Sanityzację kodu oferuje np. biblioteka express-validator, przy czym ona jest zintegrowana z miniframeworkiem express (nie wiem, czy można jej użyć samodzielnie). Natomiast ta biblioteka korzysta pod spodem z samodzielnej biblioteki validator.js, która oferuje API do walidacji i sanityzacji stringów w kodzie.

Więcej przykładów możesz znaleźć szukając frazy "node sanitize validator" - weryfikuj jednak znalezione biblioteki pod kątem ich wsparcia (patrz na daty ostatnich commit'ów, release'ów, zamkniętych issues'ów i PR'ów na GitHub), bo zdarza się że kilkuletnia biblioteka może nie wspierać nowszej wersji Node'a lub może być po prostu kiepskiej jakości.

1
komentarz 25 stycznia 2021 przez Piotr Kułakowski Początkujący (390 p.)
Ok. Serdecznie dziękuję. Nie wiedziałem, że express-validator też zajmuje się sanityzacją kodu.

Podobne pytania

0 głosów
1 odpowiedź 263 wizyt
pytanie zadane 23 lutego 2016 w PHP przez elaen Gaduła (4,760 p.)
0 głosów
0 odpowiedzi 666 wizyt
pytanie zadane 27 grudnia 2021 w Sprzęt komputerowy przez Pawel1995 Gaduła (3,810 p.)
–2 głosów
0 odpowiedzi 772 wizyt

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...