Monthly Archives Styczeń 2015

Inheritance Margin

Pisałem kiedyś klasę, która dziedziczyła po innej klasie, a ta z kolei po interfejsach, te z kolei po innych interfejsach, a po drodze była jeszcze wpleciona klasa abstrakcyjna. Następnie zaszła potrzeba szybkiego przejścia z poziomu metody implementującej do poziomu metody interfejsu, czy metody klasy abstrakcyjnej. W takim „bałaganie” było, to dość trudne. Dlatego rozpocząłem poszukiwania. Dość szybko się zorientowałem, że taka funkcjonalność jest dostępna w pakiecie R#. Ja go nie posiadałem, więc kontynuowałem poszukiwania. Natrafiłem na Inheritance Margin. Jest to bezpłatne rozszerzenie do Visual Studio. Jego działanie jest proste.
Znajdujemy się na poziomie implementowanej metody...

Read More

SQL Injection, dynamiczne kolumny

Możemy sobie wyobrazić sytuację gdzie do procedury jest dostarczana dynamiczna liczba lista kolumn:

sqlinjeciton

Lista kolumn może mieć różną formę np: *, [kolumna], kolumna, kolumna as kol itd. Bardzo łatwo coś do takiej listy wstrzepić. Więc poproszono mnie o załatanie takich smaczków. Napisałem poniższą funkcję, której celem jest zwrócenie „bezpiecznej listy kolumn”:

Read More