Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

trigger w bazie MS SQL - trigger

darjar 30 Paź 2012 17:46 1977 6
  • #1 30 Paź 2012 17:46
    darjar
    Poziom 9  

    Postanowiłam stworzyć zapytanie MSSQL w bazie dla nieuczciwych klientów, którzy zakupują oprogramowanie na termin płatności, ale nie mają zamiaru zapłacić. Wiem to nie powinienem sprzedawać na termin, ale takie są realia rynku i nie każdego trzeba traktować jako złodzieja.

    W bazie MSSQL jest tabela Konfig i kolumna ParWartosc – jest tam zawarty zaszyfrowany klucz serializacyjny powiązany z użytkownikami i jeszcze innymi parametrami po usunięci tego klucza program staje baza wywala błąd i nic się nie da zrobić jedynie producent programu, ale oni najpierw kontaktują się z nami. Wymyśliłem coś takiego, żeby zrobić takiego triggera w którym określiłoby się termin usunięcia klucza z tabeli Konfig kolumny ParWartosc najlepiej do jakieś nowej tabeli stworzonej przez tego triggera np. Klucz . Termin usunięcia można by było określić z tabeli Paragon kolumna DataCzas – jest tam zawarta data i czas transakcji w takim dokładnie zapisie 2010-10-03 09:00:00

    A teraz napisze prosto i jasno – jeżeli data pomiędzy pierwsza a ostatnią transakcją w tabeli Paragon
    jest większa niż 60 dni to utwórz tabelę Klucz i z tabeli Konfig z kolumny ParWartosc wytnij i kopiuj do tabeli Klucz do kolumny ParWartosc


    Zawsze gdybym sprzedawał program robiłbym taki wpis w bazie jeśli klient zapłaci usuwałbym tego triggera

    Proszę o jakieś rozwiązanie, może macie lepsze pomysły

    0 6
  • #2 30 Paź 2012 18:18
    marcinj12
    Poziom 40  

    Tą bazę każdy klient instaluje u siebie z programem, czy jest jedna wspólna na serwerze? W jakim języku jest napisany ten program?

    0
  • #3 30 Paź 2012 18:21
    Dżyszla
    Poziom 42  

    Wybacz, ale zabezpieczenie bezwartościowe, jeśli klient będzie miał taką bazę dla siebie (a z kontekstu przypuszczam, że tak jest). Takie rzeczy koduje się np. zaszywając w bazie odpowiednie dane (zaszyfrowane), bez których sama aplikacja nie może działać. Jeśli klient płaci, to wówczas przesyła mu się klucz dezaktywujący (może to być np klucz szyfrujący). Najlepiej, jakby taki klucz powiązany był z danymi licencyjnymi, aby skopiowanie bazy nie umożliwiło skopiowania licencji.

    Oczywiście, danych nie uchronisz (chyba, żebyś wszystko szyfrował, co bardzo negatywnie odbiło by się na wydajności i prostocie pracy). Ale można przyjąć, że baza bez aplikacji jest bezwartościowa.

    0
  • #4 30 Paź 2012 20:10
    darjar
    Poziom 9  

    marcinj12 napisał:
    Tą bazę każdy klient instaluje u siebie z programem, czy jest jedna wspólna na serwerze? W jakim języku jest napisany ten program?


    Tak baza jest u klienta na serwerze, ale my wszystko insatlujemy szkolimy itd
    wczesniej rozwiazywałem ten problem w zadaniach windows po 2 miesiacach
    zatrzymywałem SQL-a, a nastepnie zmieniałem bathem nazwę bazy, ale
    to jest lipa ktoś inny ją podłaczył itd. a teraz chcę fizycznie z tej bazy
    coś wychlastać tak żeby tylko producent albo ja mógł ją odpalić.
    Przyszło mi do głowy z tym kluczem i jak to robę fizycznie to działa,
    baza leży nie do ruszenia jesli chodzi o język programu to nie mam pojęcia
    ale podaję link do wersji demo PC-MARKET :
    http://www.insoftcrm.com.pl/Publik.nsf/PCMklientDemo?OpenFrameset

    0
  • #5 30 Paź 2012 20:38
    Dżyszla
    Poziom 42  

    Bazy danych w zasadzie nigdy nie zablokujesz. Ale jesteś w stanie zablokować program na podstawie informacji z bazy. Owszem, możesz w najprostszym przypadku chociażby zmienić hasło użytkownika bazy. Ale to zawsze można stosunkowo łatwo złamać.

    W firmie, w której pracuję, opracowałem właśnie zabezpieczenia przed kopiowaniem baz i nielegalnym wykorzystywaniem. Jednak miałem ten komfort, że mamy cały czas dostęp do naszych baz u klienta. Niemniej także w innym przypadku jest to do zrealizowania.

    0
  • #6 30 Paź 2012 21:59
    darjar
    Poziom 9  

    Dżyszla napisał:
    Bazy danych w zasadzie nigdy nie zablokujesz. Ale jesteś w stanie zablokować program na podstawie informacji z bazy. Owszem, możesz w najprostszym przypadku chociażby zmienić hasło użytkownika bazy. Ale to zawsze można stosunkowo łatwo złamać.

    W firmie, w której pracuję, opracowałem właśnie zabezpieczenia przed kopiowaniem baz i nielegalnym wykorzystywaniem. Jednak miałem ten komfort, że mamy cały czas dostęp do naszych baz u klienta. Niemniej także w innym przypadku jest to do zrealizowania.


    Oczywiście zgadzam się bazy danych tak nie zablokuję, ale jeszcze ktoś będzie musiał umieć coś z tej bazy wydobyć, a sama baza bez aplikacji dla laika jest tylko jednym plikiem. Usuwając ten klucz do innej tabeli blokuję mu odpalenie bazy z aplikacją jeśli nawet znajdzie się magik który mu przeniesie bazę na inny komputer i zainstaluje aplikację to i tak brak klucza w bazie mało tego jeśli nawet ma klucz na dyskietce i chce zarejestrować bazę w aplikacji to musi być kontynuacja poprzednich wisów i aplikacja wywala błąd serializacji bazy. Oczywiście że jeśli przysiadłbyś Ty nad tą bazą i tym zabezpieczeniem to ani słowa różne myki się robi i są do wyśledzenia czy złamania, ale to nie Macrosoft tylko zwykła baza u normalnych śmiertelników sklepy spożywcze odzieżowe i nie wielkie sieci czy korporacje. Jeśli chodzi o odblokowanie to podsunąłeś mi pomył, że można wysłać klientowi po zapłacie oczywiście batcha który robi ubdate na bazie w trigger zmiana z 60 dnia na 1000000
    przenosi z bazy klucz (kopiuj) z tabeli ParWartosc do bazy konfig do tabeli ParWartosc wklej i program działa niezawodnie. Ja sobie tako to wymyśliłem może to jest nie najlepsze rozwiązanie i mało fachowe, ale na dana chwilę chciałbym tak to rozwiązać
    szybko i skutecznie, a potem pomyślimy nad lepszym pomysłem typu wyskakujące okno UPŁYNĄŁ TERMIN ZAPŁATY PROSZĘ O WPŁATE wprowadź kod ……… . Opisałem to tak jak to widzę może coś spróbujemy zrobić ostatnio pomogłeś mi z zapytaniami i prawdę mówiąc liczyłem na twoją odpowiedź.

    0
  • #7 08 Gru 2012 23:29
    grzesdc
    Poziom 16  

    A nie lepiej zamówić w Insofcie klucz i do tego klucz czasowy? Na choinkę takie coś?

    Dobry dealer a nie "pan z teczką" spokojnie sobie właśnie tak radzi nie uciekając się do takich myków....

    Wiem bo mam z PCMarket do czynienia od prawie 8 lat

    0