Najwyższy czas na kolejną mini-porcję ciekawostek związanych z najpopularniejszym obecnie framework’iem języka JavaScript – jQuery.
Sposób w jaki ASP.NET szyfruje ciastka nie jest bezpieczny. Szyfrowanie można złamać, co w konsekwencji pozwala atakującemu na wgląd w prywatne dane sesji użytkownika webaplikacji pisanych w ASP.NET. Szacuje się, że na atak podatnych jest 25% wszystkich webaplikacji na świecie.Ataki Padding Oracle Błąd wynika z niepoprawnej implementacji AES-a w trybie CBC (Cipher Block Chaining) — jest ona podatna na atak Oracle Padding, pozwalający na odszyfrowanie danych bez znajomości klucza. Odnalezienie właściwego ...
Przeglądając różne tutoriale związane z ASP.NET MVC 2 napotkałem na pewien szczegół, który początkowo był dla mnie niezbyt zrozumiały. Mam tu na myśli znaczniki, których używamy do wyświetlania danych/kodu w widokach. Jak się okazuje, istnieją trzy typy tych znaczników, które są bardzo podobne do siebie, lecz stosuje się je w różnych sytuacjach. Poniżej krótka ściągawka, którą utworzyłem na bazie własnych doświadczeń....
Z podstawowych tutoriali dotyczących MVC wywnioskować można, że zazwyczaj wraz z akcją w parze idzie widok na którym wyświetlany jest jej rezultat. Czy musi on być zawsze jeden? Nie koniecznie...
Dla odmiany zatem, w kolejnym odcinku moich zmagań nad projektem, przedstawiam zagadnienie walidacji danych wprowadzanych przez użytkownika w ASP.NET. Wykorzystane przy tym będą wbudowane mechanizmy, które sprawiają, że walidacja może być prosta i przyjemna, a przynajmniej nie tak straszna jak może si...
Opisując implementację wzorca repozytorium w warstwie dostępu do danych, zwróciłem uwagę na metodę GetByExpression, pozwalającej na pobranie obiektów spełniających dowolne warunki. Postanowiłem udostępnić użytkownikowi filtrowanie klientów po imieniu, nazwisku i nazwie firmy, a produktów po nazwie i cenie netto (przez zdefiniowanie ceny minimalnej i maksymalnej).
Dlaczego ASP.NET MVC jest groźne dla Test-driven development’u? A jest? No jest. Co ciekawe wynika to z jego największych zalet...
Co nieco o wyborze silnika wyświetlającego widoki w ASP.NET MVC2. Na co zwracać uwagę podczas wyboru? Po co w ogóle używać alternatywnego view engine'a?
Witam dziś chciałbym nieco przybliżyć globalne filtry z MvcExtensions i jedno z zastosowań które będzie u mnie w systemie działo za pomocą tego mechanizmu. Prosty problem: Chcemy łatwo mieć możliwość na bieżąco uaktualniać informacje o ostatnich czasie kiedy user przeglądał stronę bądź zapisywać wykonane przez niego akcje. Gdy pierwszy raz podchodziłem do tego problemu przychodziły mi 2 rozwiązania: -Pierwsze: Stworzyć BaseController z którego będą dziedziczyły wszystkie inne a który będzie posiadał met...
Zbudowanie mechanizmu lokalizacji jest stosunkowo proste. Dla nas schody zaczęły się podczas używania ich razem z Gridem dostarczonym razem z bilbioteką MvcContrib...
FileUploader to kontrolka, która umożliwia wybranie pliku przez użytkownika i przesłanie go na serwer. Po umieszczeniu na stronie renderuje się do pola tekstowego i przycisku Przeglądaj. Ja chciałem uzyskać efekt, w którym kontrolka ta jest ukryta, użytkownik naciska pewien przycisk, wyświetlane jest okienko do wyboru pliku, a następnie plik przesyłany jest na serwer. Zrobiłem to przy pomocy odrobiny JavaScript'u.
Model – Vidok – Contoler Struktura MVC polega na podziale pracy aplikacji na trzy segmenty: - Model – dostarcza informacje o danych, na których program będzie pracować, - View – odpowiada za formę, czyli to, co widzi użytkownik, - Controller – realizuje interakcję z użytkownikiem i przepływ danych z Model do View. Tę właśnie strukturę realizuje Microsoft ASP.NET MVC. Przystępne omówienie tej technologii można znaleźć u źródeł.
Internet obfituje w niezliczone stada gridów dla jQuery. Przemierzają wirtualne pastwiska, żywią się wszelkimi danymi i kpiąco mrużą skryptowe ślepia, ponieważ doskonale wiedzą, że jest ich ZBYT wiele. Wybrać jeden konkretny - i jeszcze sensownie uzasadnić swój wybór - wcale nie jest prosto. Kilka miesięcy temu zostałem zmuszony do poświęcenia 2-3 godzin na analizę dostępnych ścieżek i zdecydowałem się na DataTables. Sensownego uzasadnienia nie posiadam:) - nie pamiętam już nawet dokładnego procesu wybo...
Czasami warto zasugerować użytkownikowi dozwolone wartości w TextBox. Przykładem jest pole edycyjne w Google, które pokazuje najczęściej wyszukiwane frazy. W tym poście stworzymy podobną kontrolkę, wykorzystując do tego bibliotekę jQuery. Całość działa oczywiście na Ajaxie. Użytkownik wpisuje jakieś wartości w polu, zapytanie jest w tle wysyłane do serwera a ten z kolei zwraca listę podpowiedzi. Należy wprowadzić również pewne opóźnienie przed dostarczeniem zapytania ponieważ w przeciwnym razie zostanie ...
Pisząc ostatnio o ASP.NET MVC SiteMap provider wspomniałem o tzw. dynamic sitemaps‘ach. Otóż tworząc breadcrumps’y musimy wziąć pod uwagę sytuacje, gdy informacje w nich zawarte będą pochodziły prosto z bazy danych. Wówczas nie da się tworzyć na bieżąco pliku XML, który posiadałby informacje o wszystkich istniejących produktach. Rozwiązaniem tego są właśnie dynamic sitemaps‘y. Wykorzystywana biblioteka posiada taką funkcjonalność – wystarczy tylko odpowiednio ją skonfigurować. Co prawda do końca jeszcz...
Jak pisałem wczoraj, zabrałem się za utworzenie tzw. mapy strony. Jest to nic innego, jak zdefiniowana w pliku XML struktura całej aplikacji. Dzięki niej jesteśmy w stanie m.in. generować automatycznie menu, czy też – co mnie interesowało – utworzyć prosty nawigator informujący użytkownika, gdzie aktualnie się znajduje. Fachowo określane jest to mianem okruszków chleba (fajna nazwa), czy też z angielskiego – breadcrumps. Początkowo myślałem, że jest na to jakaś prosta metoda, gdyż rozwiązanie to jest pow...
Autor: zastanowiła mnie kwestia przekazywania danych do strony wzorcowej. Przemyślenia te związane były z wyświetlaniem głównego menu, którego parametry chciałem mieć zgromadzone w bazie danych, a nie wstawione, tak jak wcześniej, na sztywno do struktury strony. Zagłębiłem się więc w różnego rodzaju kursy oraz przykładowe strony w celu odnalezienia satysfakcjonującego rozwiązania. Na szczęście udało się.
4Sep/100ASP.NET sposób na zliczanie użytkowników online – StateServer Na temat dzisiejszego posta wybrałem problem z którym spotkałem się ostatnio w jednym z moich projektów. Mianowicie sprawa dotyczy zliczania ilości użytkowników, którzy w bieżącej chwili korzystają z naszej aplikacji. System miał już wcześniej zaimplementowaną taka funkcjonalność, ale z pewnych względów (o tym pó...
Zawsze zastanawiało mnie w jaki sposób przy użyciu jQuery wykonuje się zapytania asynchroniczne. Kilka dni temu miałem okazję (a bardziej konieczność) napisać prosty WebService, którego zadaniem było zwracanie określonych danych z bazy MS SQL. Po przyswojeniu pewnej porcji informacji związanych z AJAX’em mogłem zabrać się do działania. Jak się okazało, nie taki diabeł straszny jak go malują. :)
Wracając dziś autobusem z pracy zacząłem się zastanawiać, co stanie się, gdy w formularzu ktoś umyślnie wklei jakiś fragment kodu JavaScript. Mam tu na myśli zachowanie vebshop‘u w przypadku tzw. JavaScript Injection Attack. Przypomniałem sobie, że na oficjalnej stronie ASP.NET MVC 2 znajdował się artykuł na ten temat (dokładnie tutaj). Postanowiłem zatem sprawdzić to w praktyce.