Skocz do zawartości


Zdjęcie

Blokowanie się Programu Płatnika w systemie Windows 98


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Sfor

Sfor

    Nowy

  • 3 postów

Napisano 21 04 2008 - 18:02

Do blokady programu dochodzi w trakcie otwierania listy certyfikatów lub przesyłania dokumentów do ZUS. Trwa to od kilku do kilkunastu minut.

W przypadku komputerów łączących się z Internetem za pośrednictwem komutowanego połączenia (Dial-Up Networking), efekt blokowania się występuje tylko w czasie połączenia. Tak więc przeglądanie listy certyfikatów nie blokuje programu do momentu połączenia z Internetem. Oczywiście, w czasie przesyłania dokumentów do ZUS odłączenie od Internetu nie jest sposobem na obejście blokady. Innymi słowy użytkownicy stałego połączenia z Internetem, mają kompletnie przechlapane.

Sporo czasu i eksperymentów zajęło "rozpracowanie" tego problemu.

Problem związany jest z kontrolowaniem przez Program Płatnika zawartości systemowego magazynu z certyfikatami. Podczas takiej kontroli Płatnik sprawdza czy w magazynie znajdują się certyfikaty jakie posiada on we własnej bazie danych. W razie braku Płatnik proponuje ich doinstalowanie. Problem w tym, że jedynie w systemie Windows 98 kontrola obecności certyfikatu Unizeto w magazynie powoduje próbę połączenia z serwerami Unizeto. Komputer bezskutecznie czeka na odpowiedź, co trwa około 45 sekund na każdy certyfikat. Pomnóżmy ten czas przez kilka cetyfikatów, a strata wyniesie około 5 minut.

Tam, gdzie program Płatnika jest uruchamiany często, problem ten jest bardzo denerwujący. Płatnik wysyłający dokumenty raz na miesiąc może poczekać te 5 minut, ale dla biura rachunkowego jest to już istotne utrudnienie.

Pomoc techniczna daje jedną możliwość, czyli zainstalować nowszy system operacyjny lub uzbroić się w cierpliwość, gdyż Prokom nie chce brać odpowiedzialności, za "dziwne" działanie systemu Windows 98.

Na szczęście udało się znaleźć aż trzy różne sposoby na pozbycie się problemu. Każdy z nich ma swoje zalety i wady.



1. Modyfikacja rejestru systemowego.

Zalety: Jest to trwały sposób.
Wady: Podczas każdorazowej kontroli zawartości magazynu systemowego Płatnik będzie wyświetlał fałszywy komunikat o braku certyfikatów potrzebnych do wysyłania dokumentów. (trzeba zamykać/ignorować okna dialogowe z komunikatami)

1) Utworzyć plik o rozszerzeniu .REG (np PPFIX.REG) z następującą zawartością.
REGEDIT4

[-HKEY_CLASSES_ROOT\Interface\{7AB5C758-522C-41FD-948F-E99FF615A572}]
2) Importować plik do rejestru systemowego.

Spowoduje to uszkodzenie funkcjonalności komponentów odpowiedzialnych za kontrolowanie certyfikatów.

2. Usunięcie najstarszego certyfikatu Unizeto z magazynu systemowego.

Zalety: Łatwo jest "odinstalować" tę poprawkę. Wystarczy pozwolić Płatnikowi na ponowne zainstalowanie usuniętego certyfikatu.
Wady: Przy każdej kontroli magazynu systemowego trzeba zabraniać Płatnikowi instalować brakującego certyfikatu.

1) Wywołać okno Opcji Internetowych Internet Explorera.
a) przez wywołanie Właściwości po kliknięciu prawym klawiszem na ikonie Internet Explorer
:rolleyes: lub przez uruchomienie Internet Explorera i wybranie Narzędzia - Opcje Internetowe z menu.
2) wywołać okno dialogowe "Certificates" z zakładki Zawartość przyciskiem Certyfikaty.
3) przejść na zakładkę Trusted Root Certification Authorities
4) odszukać i usunąć najstarszy certyfikat UNIZETOTTPCANAD z datą wygaśnięcia w 2004 roku. Jeżeli w bazie danych waszego płatnika najstarszym certyfikatem Unizeto jest inny certyfikat, to ten właśnie należy skasować.

Jeżeli nie pozwolimy Płatnikowi zainstalować pierwszego certyfikatu to nie będzie sprawdzał kolejnych. Jest wyjątkowo mało inwazyjny sposób.


3. Zablokowanie dostępu do serwerów Unizeto przez zmianę reguł rutowania w systemie.

Zalety: Całkowity brak "zbędnych" komunikatów Płatnika. Kontrola magazynu systemowego trwa tyle samo co przy użyciu innych systemów operacyjnych.
Wady: Rozwiązanie jest chwilowe. Odnowienie adresu IP wymaga ponownego wykonania skryptu. W przypadku połączeń Dial-Up skrypt należy uruchamiać po każdym nawiązaniu połączenia.

1) Utworzyć plik skryptu o przykładowej nazwie PPFIX.BAT i następującej zawartości:
IPConfig /release 0
IPConfig /renew 0|find "brama">ipbramy.bat
ipbramy
2) Utworzyć kolejny plik o nazwie DOMYśLNA.BAT i zawartości:
@echo off
SET GATEWAY=%9
route delete 0.0.0.0 

route add 0.0.0.0 mask 128.0.0.0 %GATEWAY% 
route add 128.0.0.0 mask 192.0.0.0 %GATEWAY% 
route add 192.0.0.0 mask 254.0.0.0 %GATEWAY% 
route add 194.0.0.0 mask 255.0.0.0 %GATEWAY% 

route add 195.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 195.128.0.0 mask 255.192.0.0 %GATEWAY%
route add 195.192.0.0 mask 255.248.0.0 %GATEWAY% 
route add 195.200.0.0 mask 255.252.0.0 %GATEWAY% 
route add 195.204.0.0 mask 255.255.0.0 %GATEWAY% 
route add 195.205.0.0 mask 255.255.128.0 %GATEWAY% 
route add 195.205.128.0 mask 255.255.192.0 %GATEWAY% 
route add 195.205.192.0 mask 255.255.224.0 %GATEWAY% 
route add 195.205.224.0 mask 255.255.240.0 %GATEWAY% 
route add 195.205.240.0 mask 255.255.248.0 %GATEWAY% 
route add 195.205.248.0 mask 255.255.255.192 %GATEWAY% 
route add 195.205.248.64 mask 255.255.255.252 %GATEWAY% 
route add 195.205.248.68 mask 255.255.255.254 %GATEWAY% 
route add 195.205.248.70 mask 255.255.255.255 %GATEWAY% 
REM -www.ca.unet.pl 195.205.248.71
route add 195.205.248.72 mask 255.255.255.248 %GATEWAY% 
route add 195.205.248.80 mask 255.255.255.240 %GATEWAY% 
route add 195.205.248.96 mask 255.255.255.224 %GATEWAY% 
route add 195.205.248.128 mask 255.255.255.128 %GATEWAY% 
route add 195.205.249.0 mask 255.255.255.0 %GATEWAY% 
route add 195.205.250.0 mask 255.255.254.0 %GATEWAY% 
route add 195.205.252.0 mask 255.255.252.0 %GATEWAY% 
route add 195.206.0.0 mask 255.254.0.0 %GATEWAY%
route add 195.208.0.0 mask 255.240.0.0 %GATEWAY%
route add 195.224.0.0 mask 255.224.0.0 %GATEWAY%

route add 196.0.0.0 mask 252.0.0.0 %GATEWAY% 
route add 200.0.0.0 mask 248.0.0.0 %GATEWAY% 
route add 208.0.0.0 mask 250.0.0.0 %GATEWAY% 

route add 212.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 212.128.0.0 mask 255.224.0.0 %GATEWAY% 
route add 212.160.0.0 mask 255.225.192.0 %GATEWAY% 
route add 212.160.64.0 mask 255.225.248.0 %GATEWAY% 
route add 212.160.72.0 mask 255.225.255.0 %GATEWAY% 
route add 212.160.73.0 mask 255.225.255.224 %GATEWAY% 
route add 212.160.73.32 mask 255.225.255.240 %GATEWAY% 
route add 212.160.73.48 mask 255.225.255.248 %GATEWAY% 
route add 212.160.73.56 mask 255.225.255.252 %GATEWAY% 
route add 212.160.73.60 mask 255.225.255.254 %GATEWAY% 
REM -cc.unet.pl 212.160.73.62
route add 212.160.73.63 mask 255.225.255.255 %GATEWAY% 
route add 212.160.73.64 mask 255.225.255.192 %GATEWAY% 
route add 212.160.73.128 mask 255.225.255.128 %GATEWAY% 
route add 212.160.74.0 mask 255.225.254.0 %GATEWAY% 
route add 212.160.76.0 mask 255.225.252.0 %GATEWAY% 
route add 212.160.80.0 mask 255.225.240.0 %GATEWAY% 
route add 212.160.96.0 mask 255.225.224.0 %GATEWAY% 
route add 212.160.128.0 mask 255.225.128.0 %GATEWAY% 
route add 212.161.0.0 mask 255.255.0.0 %GATEWAY% 
route add 212.162.0.0 mask 255.254.0.0 %GATEWAY% 
route add 212.164.0.0 mask 255.252.0.0 %GATEWAY% 
route add 212.168.0.0 mask 255.248.0.0 %GATEWAY% 
route add 212.176.0.0 mask 255.240.0.0 %GATEWAY% 
route add 212.192.0.0 mask 255.192.0.0 %GATEWAY% 

route add 213.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 213.128.0.0 mask 255.192.0.0 %GATEWAY% 
route add 213.192.0.0 mask 255.240.0.0 %GATEWAY%
route add 213.208.0.0 mask 255.248.0.0 %GATEWAY%
route add 213.216.0.0 mask 255.252.0.0 %GATEWAY%
route add 213.220.0.0 mask 255.254.0.0 %GATEWAY%
route add 213.222.0.0 mask 255.254.128.0 %GATEWAY%
route add 213.222.128.0 mask 255.255.192.0 %GATEWAY%
route add 213.222.192.0 mask 255.255.255.240 %GATEWAY%
route add 213.222.192.16 mask 255.255.255.248 %GATEWAY%
route add 213.222.192.24 mask 255.255.255.252 %GATEWAY%
route add 213.222.192.28 mask 255.255.255.254 %GATEWAY%
REM -213.222.192.30 
route add 213.222.192.31 mask 255.255.255.255 %GATEWAY%
route add 213.222.192.32 mask 255.255.255.224 %GATEWAY%
route add 213.222.192.64 mask 255.255.255.192 %GATEWAY%
route add 213.222.192.128 mask 255.255.255.128 %GATEWAY%
route add 213.222.193.0 mask 255.255.255.0 %GATEWAY%
route add 213.222.194.0 mask 255.255.254.0 %GATEWAY%
route add 213.222.196.0 mask 255.255.252.0 %GATEWAY%
route add 213.222.200.0 mask 255.255.248.0 %GATEWAY%
route add 213.222.208.0 mask 255.255.240.0 %GATEWAY%
route add 213.222.224.0 mask 255.255.224.0 %GATEWAY%
route add 213.223.0.0 mask 255.255.0.0 %GATEWAY%
route add 213.224.0.0 mask 255.224.0.0 %GATEWAY%

route add 214.0.0.0 mask 254.0.0.0 %GATEWAY% 
route add 216.0.0.0 mask 248.0.0.0 %GATEWAY%
REM 224.0.0.0		224.0.0.0
REM 255.255.255.255  255.255.255.255
3) Oba skrypty powinny znajdować się w tym samym katalogu.

Uruchomienie skryptu IPFIX.BAT uruchamia procedurę wykrycia adresu bramy. Niestety adres bramy może zostać przekazany do skryptu DOMYśLNA.BAT tylko jeżeli aktywna karta sieciowa jest pierwszym lub jedynym urządzeniem/kartą sieciową. Najlepiej jest usunąć zbędne karty sieciowe lub urządzenie Dial-Up networking (jeżeli Interned dostępny jest przez kartę sieciową). Jeżeli nie jest to możliwe, to pozostaje jedynie wpisać na stałe adres bramy do skryptu DOMYśLNA.BAT.

Przykładowo:
SET GATEWAY=192.168.10.1

Jeżeli do foderu Autostart dodamy skrót do skryptu IPFIX.BAT zapewni to automatyczne jego uruchomienie po starcie komputera. Taka ochrona jest jednak skuteczna jedynie do momentu wygaśnięcia dzierżawy adresu DHCP. Jeżeli, okres dzierżawy jest krótki, to taki automat nie zda egzaminu. W większości przypadków, okres dzierżawy wynosi od kilkunastu godzin do tygodnia, tak więc problem ze zbyt krótkim okresem jest mało prawdopodobny.

Skrypt jest dość długi, tak więc czas jego wykonywania jest isotny. Szybkość wykonywania skryptu drastycznie spada, jeżeli jego okno nie jest aktywne.

  • 0




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych