Szybka odpowiedź brzmi: tak, jak już wiesz. Ale nie musi to być ogromna praca, o której myślisz. (Cała kwestia bezpieczeństwa może być duża, ale to tylko jedna jej część). Masz o wiele poważniejsze problemy.
Dlaczego to ma znaczenie
WSZYSTKO, co stworzysz, zostanie uderzone próbami jego rozwiązania. Ktoś będzie ciekawy. Ktoś zrobi coś, czego nigdy się nie spodziewałeś i co przeczy Twojemu myśleniu. Ktoś będzie zaciekawiony, złośliwy lub wścibski.
Powinieneś także przyjąć za pewnik, że Twoje oprogramowanie / aplikacja internetowa będzie mocno przetestowana przez automatyczne narzędzia . Serwery z portalami internetowymi (prawie każdego rodzaju) są wykrywane przez hakerów w ciągu kilkudziesięciu minut od pierwszego przejścia do trybu online i zaczynają być badane pod kątem jednego z tysięcy możliwych luk lub przeoczeń w zabezpieczeniach. Oznacza to, że badają, co dokładnie działa „za kulisami”, a także pod kątem wszelkich wykrywalnych błędów, które można wykorzystać (w walidacji danych, walidacji krzyżowej, wstrzykiwaniu kodu SQL lub binarnego, hakowaniu JavaScript, samym zapleczu, co słabości mogą powstać, zmuszając coś do awarii, jakie dane można ujawnić ...).
Twój (e) serwer (y) WWW będą sprawdzane w ten sposób, stale, pod kątem wszelkich możliwych błędów kodu WWW i błędów zaplecza, przez setki, jeśli nie tysiące zautomatyzowanych narzędzi. To tak samo dobrze jak ludzie i użytkownicy, a nie zamiast.
Czy wolałbyś, żeby to było daleko w tyle i mocno zwrócone na twoją uwagę przez krytyków, media i zirytowanych użytkowników, czy też doprowadziło do odpowiedzialności? A może wolisz to naprawić?
Jak to rozwiązać
W pewnym sensie nie jest to wielka praca. Tworzysz strukturę zabezpieczeń, a następnie każda strona importuje ją lub używa. Koncepcje, jak to zrobić, nie są trudne i są dobrze udokumentowane. Więc liczba stron nie jest duża.
Najtrudniejszą częścią pracy jest to, że bezpieczeństwo jest trudne . Twoim prawdziwym problemem jest to, że z faktu, że te problemy istnieją i zadajesz te pytania, nie masz wystarczającej wiedzy, aby mieć nadzieję na zrobienie tego bez pomocy. Poważnie. Ty. Zrobić. Nie.
Nie wiem, jaki masz zespół lub jakie masz zasoby. Potrzebujesz tego - i prawdopodobnie nie masz nadziei na zrobienie tego bez pomocy z zewnątrz.
Moje prawdziwe zmartwienie
To powiedziawszy, moim prawdziwym zmartwieniem nie jest aplikacja internetowa . To sposób myślenia sugeruje to pytanie.
Wyobraź sobie, że rozważam zakup lub używanie Twojej aplikacji.
Nie pomaga to ani nie zapewnia czytelnika, że najwyraźniej traktujesz bezpieczeństwo jako po namyśle, zakłócenia w pracy lub niedogodności do naprawienia później (lub nie rozumiem tego wystarczająco, że do tej pory traktowałeś to w ten sposób), a być może problemy są naprawdę podstawowymi, takimi jak prawidłowe zakodowanie adresu URL przycisku .
Bezpieczeństwo to Twoja praca, ponieważ bez względu na to, jak wspaniałe są technicznie produkty / usługi i kimkolwiek są ich użytkownicy, Twoim prawdziwym produktem jest zaufanie i zapewnienie, że zaspokoisz moje potrzeby i nie spowodujesz poważnej katastrofy.
Mam powierzyć Twojej aplikacji moje dane? W tej chwili i przykro mi to mówić, myślę, że równie dobrze mógłbym sam opublikować to w Google+. Tak, to „taka zła” sytuacja i wrażenie, i nie, to nie jest wyolbrzymienie tego dla efektu.
Przepraszam.
Teraz, jeśli Twoja aplikacja jest dobra, zaangażuj kogoś innego.