środa, grudnia 13, 2006

Myśli o bezpieczeństwie

Bezpieczeństwo. Tego powinni zabronić? Czego ano podawania w nagłówku FORMS (formularza HTML) adresu serwera spoza domeny z której strona przeszła np. strona została uruchomiona spod adresu COIG a wysyła dane pod inny adres np. CIROW.
Muszę to sprawdzić.
Ostatnia poprawka do bibliteki XML Core w MS miała uniemożliwić sięganie z poziomu XMLHTTPRequest (w wydaniu COM, nie natywnym dostarczanym z IE 7, gdzie to już jest wprowadzone) do witryn spoza domeny wejściowej.

Co to ma znaczyć?

Co to ma znaczyć ?

Od dawna podejrzewałem, że coś jest nie tak z wielowatkowością i obsługą wielu procesów naraz w aplikacjach open-source (vide Apache, którego kopia uruchamiana jest przez administratorów dla każdej witryny na jednym i tym samym fizycznym serwerze. Tłumaczą to lepszą izolacją między chodzącymi na różnych witrynach aplikacjami. Podobnie jest w ZOPE, gdzie podaje się jawnie ilość wątków jednocześnie mogących być uruchamianych). Nie wiem czy mam rację, ale to o czymś świadczy.

Z innej beczki, taka maszyna wirtualna Javy (JVM) JRockit w wydaniu BEA - ukazał się artykuł (http://news.zdnet.com/2100-3513_22-6142172.html?tag=nl.r3302) na ZDNet "BEA to run Java sans operating system" w któym opisuje sie nowy ich produkt WebLogic Server Virtual Edition (sam WebLogic Server służy do uruchamiania wielu aplikacji Java, wersja wirtualna jest opracowana dla uruchamiania jej w środowisku hyperwizora VMware (oprogramowanie wspierające wirtualizację firmy VMWare, hyperwizor służy do uruchomienia wielu kopii tego samego oprogramowania na jednej konfiguracji sprzętowej). W tym przypadku hyperwizor nazywa się Liquid VM i kontaktuje się bezpośrednio (pomijając warstwę OS) z hyperwizorem VMWare. Cel takiej wirtualizacji? Dostarczenie administratorom narzędzi do konsolidacji wielu aplikacji Java na pojedyńczym serwrze oraz zoptymalizowanie ich wydajności. Wirtualizacja dla korporacji słuzy do lepszego wykorzystania sprzętu poprzez rozłożenie obciążenia wielu aplikacji na pojedyńczej maszynie - wewnętrzne ograniczenia (nazwijmy to poprostu fuszerką, wadą architektury) aplikacji powodują, że nie potrafi zrównoleglić przetwarzania zapytań (procesó) przy zwiekszonym obciążeniu w rezultacie czego tworzy się do aplikacji kolejka nieobsłużonych żądań (których nie potrafi aplikacja jednocześnie zrealizować mimo, że moc obliczeniowa jest wystarczająca).
Firma planuje dodać do tej wirtualizacji obsługę innych architektur, chodzi o wsparcie wirtualizacji dla Xen i MS. Gotowość produktu - luty 2007.

wtorek, grudnia 12, 2006

Co jest wazne?

The growth of Macintosh desktop clients in enterprises will be more of a hindrance to Linux desktop growth than Windows, one analyst firm says in a recent report. Gartner says the increasing popularity of Apple’s desktop operating system in some enterprises could come at the expense of Linux desktops. Popular marketing and advertising campaigns for Macs has the machines on the minds of some corporate computer users, while Linux desktops are still somewhat obscure.Several factors still hold Apple back on enterprise desktops. It does not license its OS X operating system to other hardware vendors. The consumer-oriented focus of the interface and applications is a turnoff for IT administrators, as well as the lack of IT management tools. But Gartner says these machines will find their way into enterprises through the “back door,” in some cases where end-users seek to replace older proprietary workstations, such as Unix machines. The Gartner report faults a shortcoming in support for both Mac and Linux desktops as one reason these platforms continue to lag in enterprise deployments. While Apple, Red Hat and Novell offer seven years of support for their respective enterprise desktop operating systems, Windows draws more enterprise desktop loyalty, in part, because of its 10-year-minimum support practices for its desktop product. One trend that could level the desktop operating system playing field is the move towards Web-based applications, which only require standards-based HTML browsers and plug-ins, and can run on almost any desktop. However, Gartner says it does not expect even half of a typical organization’s apps to be OS-independent in the next five years. [Gartner: Macs crowd out Linux on corporate desktops but no threat to Windows By Phil Hochmuth]

Wniosek:

  1. trudno przezwyciężyć mit doskonałego wsparcie i pomocy technicznej dla platformy Windows, inne platformy dopiero tu raczkują. Ale jest jedno ale, w dobie aplikacji internetowych, wymagajacych do pracy wyłącznie standardową przeglądarkę internetową i odpowiednie wtyczki, mogą one dziłać na dowolnym sprzęcie. Ten trend zaczyna być coraz wyraźniejszy, ale Gartner nie oczekuje aby w ciągu najbliższych 5 lat połowa typowych aplikacji korporacyjnych była zrealizowana w tej konwencji.
  2. Kazda przeglądarka nie nie znaczy bez dobrych "wtyczek", ale kazda wtyczka wnosi koleją dziure do przegladarki. Kazdy kij ma dwa konce...

czwartek, grudnia 07, 2006

Trzy rozwiązania

Przemyślenia
  1. MS uruchamia podbnie jak Google przeglądarkę i wyszukiwarkę książek - twierdzi, że "w dobie powszechnego bełkotu i chaosu informacyjnego w Internecie, jedynie informacja zawarta w książkach jest choć nieco przestarzała ale lepiej ocenzurowana i na wyższym poziomie merytorycznym". Tak zgadzam się z tym w pełni.
  2. Sun potwierdził słuszność mojej tezy 80% Client / 20% Server, gdzie Client - oznacza jakiś framework wspierający technologię Ajax po stronie klienta w środowisku JavaScript (np. dojo) + CSS + DOM, a Server - oznacza platformę serwer aplikacji w tym przypadku J2EE. Podobny projekt ma Microsoft (AJAX dla .NET) i Google (GWTK) [http://www.adtmag.com/article.aspx?id=18912]. Składniki:
  • Client-side JavaScript toolkits, such as Dojo, which hides the low-level processing of XMLHttpRequest;
  • DWR (Direct Web Remoting), which enables RMI-like invocation from the JavaScript client code to backend Java class;
  • AJAX-enabled JSF components which allows the building of AJAX apps by dragging-and-dropping UI components;
  • Wrapper technology such as jMaki that permits use of AJAX widgets from different sources using common interface;
  • Java to JavaScript translator technology such as Google Web Toolkit (GWT) and
    Existing Web app frameworks with AJAX extensions such as Wicket, Echo2 or Shale. These include:
    - Client-side JavaScript toolkits, such as Dojo, which hides the low-level processing of XMLHttpRequest;
    - DWR (Direct Web Remoting), which enables RMI-like invocation from the JavaScript client code to backend Java class;
    - AJAX-enabled JSF components which allows the building of AJAX apps by dragging-and-dropping UI components;
    - Wrapper technology such as jMaki that permits use of AJAX widgets from different sources using common interface;
  • Java to JavaScript translator technology such as Google Web Toolkit (GWT); and Existing Web app frameworks with AJAX extensions such as Wicket, Echo2 or Shale.
  • Do tego co napisałem powyżej jest świetna strona http://www.javapassion.com/ajaxcodecamp/#Presentations
  1. IBM nazywa to RIA rich Internet Application - oznacza wyposażenie aplikacji klienckich (napisanych jako aplikacje desktop w Javie lub applet na stronie w przeglądarce) w możliwość pobierania danych z serwera.
  2. http://www.adtmag.com/article.aspx?id=18795 - Artykuł o kolejnym produkcie typu Grid - nazywa się ActiveGrid Studio 2.0. Wnosi technologię Web 2.0 i LAMP w środowisko serwerów Java (Apache Tomcat, BEA WebLogic, IBM Websphere, Sun Java System Application Server and JBOSS). Drugim produktem jest ActiveGrid Server 2.0 - serwer aplikacji umożliwiający na instalację aplikacji Web 2.0 na "zwykłych" serwerach (posiada mechanizm cache, LDAP, load balancing i dashboard-y). Wersja open source obu produktów udostępniana jest na zasadzie licencji Apache Software License 2.0.Cena wersji komercyjnych - od $8,000 do $12,000 rocznie.

Nowe kryteria serwera aplikacyjnego

Kryteria wyboru serwera aplikacyjnego:

  1. Administracja (lokalna/zdalna, interfejs GUI/tekstowy/przeglądarka, wsparcie dla SNMP do konfigurowania/monitoringu pracy, tworzenie kopii),
  2. Skalowalność/Rozwijalność-przyszłościowość (architektura 32/64 bity, zgodność z J2EE (w jakiej wersji?), certyfikat z JSEE (wersja?), IPv6, klastry/farmy, wsparcie dla wirtualizacji, tranzakcyjność, odporność na awarie sprzętowe/bazodanowe/aplikacyjne, łagodne wychodzenie z awarii),
  3. Programowalność (języki kompilowane/skrypty interpretowane),
  4. Bezpieczeństwo (SSO, LDAP, SSL, firewall, proxy, wsparcie dla AD),
  5. Wsparcie (SLA, QLA),
  6. Architektura (C/S, cienki klient, przeglądarka internetowa)

Co z tym ciałem (Flashem)?

Komentarz na temat udostępnienia przez Adobe (po przejęciu przez niego firmy Macromedia) technologii Flash organizacji Mozilla (inaczej mówiąc wlączeniu do języka JavaScript mozliwosci ActionScript - notabene czy mogą to zrobić legalnie mijając standard języka JS zdefiniowany przez ECMA?, oraz maszyny do uruchamiania aplikacji Flash do interpretera JS w przyszłych wersjach FireFox). Ruch ten na pewno mam na celu spopularyzowanie apliakacji wykonanych we Flash-u:

  • "Chizen said that Adobe intends to work more in open source, although he said that it does poses a challenge for the company. Adobe on Tuesday announced that it will provide the ActionScript Virtual Machine--software to run JavaScript andActionScript programs--to the Mozilla Foundation for inclusion in future versions of the FireFox browser. "You'll see us participate more (in open source). We're going to have to walk this fine line between open standards and open source," he said. "Where we want to make money, it's hard to be completely open source because we do need to continue to generate revenue," he said. O'Reilly noted that Microsoft is increasingly seeking to steal away customers from Adobe, notably Web designers and graphics designers."

Własnie mam Acrobat Reader 8. Umozliwia on m.in. tworzenie z poziomu Readera plików PDF (usluga sieciowa ws -LiveCycle). Łączy się w tle z serwerem Adobe w celu aktualizacji swego kodu i propozycji reklamowych)

środa, grudnia 06, 2006

Kryteria wyboru narzędzi

Kryteria wyboru :

  • Wsparcie i rozwój (nowe wersje, aktualizacje)
  • Ergonomia
  • Skalowalność (pionowa i pozioma)
  • Wydajność
  • Wieloplatformowość
  • Obciążenie systemu operacyjnego, narzut na pamięć i CPU (i inne zasoby)
  • Narzędzia do zarządania infrastrukturą IT (zasobami sprzętem, siecią, urządzeniami, konfiguracją, wydajnością, użytkownikami)
  • Integracja z platformą mobilnych urzadzeń
  • Wsparcie komunikacji między użytkownikami
  • Wsparcie pracy grupowej programistów
  • Wsparcie pracy grupowej użytkowników (portal)
  • Zarządzanie wersjami
  • Możliwość tworzenia komunikatów i kolejkowanie
  • Narzędzia do zrównoważenia obciążenia

  • Infrastruktura serwerów
  • Integracja z platformą (system, serwer internetowy, aplikacyjny, bazodanowy, zarządzanie transformacjami na ESB, portalowy, raportowanie i inne)
  • Integracja z innymi aplikacjami
  • Przechowywanie sesji
  • Połączenie z bazami (standard ODBC/JDBC lub własne)
  • Obsługa tranzakcji
  • Wsparcie dla nowych technologii (EAI, AJAX, XML)
  • Intergracja z EAI i aplikacjami spadkowymi (legacy)
  • Wsparcie dla bezpieczeństwa
  • Zarządzanie zmianami konfiguracji
  • Konsola do zarządzia aplikacjami
  • Disgnostyka
  • Obsługa dziennika zdarzeń
  • Monitorowanie i audyt

wtorek, grudnia 05, 2006

Swietny pomysł

Wyszukiwarka Google dla Twojej firmy
Nowosc! Korporacyjna wyszukiwarka Google dostepna od teraz w Polsce!
Czy nie byloby wspaniale, gdyby wyszukiwanie w obrebie firmy bylo równie proste jak na Google.pl? Dzieki produktom korporacyjnym Google bedziesz mógl zaoferowac swoim pracownikom proste, szybkie i bezpieczne wyszukiwanie w obrebie wszystkich danych firmowych, w tym intranetów, systemów do zarzadzania dokumentami i tresciami, serwerów plików, komputerów pracowników i aplikacji biznesowych, takich jak CRM i business intelligence. Równiez na swojej publicznej stronie WWW mozesz udostepnic klientom i partnerom biznesowym wyszukiwarke o jakosci, do której przyzwyczail ich Google

Co tam nowego w Java Card 2.2?

Nowe podejście do kart kryptograficznych (od strony Java CARD)

  1. http://www.enigma.com.pl/index.php?option=com_content&task=view&id=183&Itemid=155
  2. http://security.computerworld.pl/news/79172.html
  3. http://java.sun.com/products/javacard/dev_kit.html
  4. http://home.elka.pw.edu.pl/~pnazimek/index.php?lang=pl&page=36

Wyposażenie oprogramowania w kartach w VJM (wirtulaną maszynę Java) poprzez co uzyskuje się jednakową, niezleżną od platformy sprzętowej możliwość komunikacji między kartą a np. appletem na stronie internetowej (oczywiście aplet musi być podpisany). Ostatnie łącze stanowi skarbnicę wiedzy jak samemu oprogramować karty inteligentne w tym SIM w telefonach, karty kryptograficzne, bankowe, lojalnościowe itd. Wszystko dzięki standardowi Java CARD 2.2. staje się jasne i proste. Autor udostępnił dokumentację w pdf i masę przykładów w pliku zip. Prawdziwa perełka.

Inną perełką pełną przykladów jest strona www.jensign.com. Jej autor (MVP z MS) początkowo widząc popularność jaką się ciszy ta strona chciał ją na wiosnę tego roku sprzedać (przedtem zabezpieczył informacje na niej). Ale oczywiście nikt nie chciał tego kupić. Rad nie rad ponownie ją otworzył z jeszcze większą ilością informacji (być może znalazł tajemniczego sponsora, moż to jest MS?).

Nowosci o podpisie

Świetny artykuł z MSDN - "Building Browser Helper Objects with Visual Studio 2005 Tony Schreiner, John Sudds Microsoft Corporation October 27, 2006" w C++

Frima Sputnik zajmuje się upowszechnieniem podpisu wraz z Sigillum - http://www.nowoczesnagmina.pl/About.aspx - korzysta z appletu Java. Karta jest wykonana zgodnie ze standardem - Java Card™ 2.2. tel. kontaktowy - 801 886644

Matrix - firma polska ->Technologie: Java 2 Enterprise Edition, Applety, PKI, karty kryptograficzne - PKSC#11.

Komunikat ostrzeżenie na stronę portalu AS -

  1. *) Z dniem 11.07.2006 r. firma Microsoft Corporation wstrzymała ostatecznie aktualizację zabezpieczeń dla systemów operacyjnych Microsoft Windows 98, 98 SE oraz ME. W związku z powyższym, ze względu na zachowanie najwyższego stopnia bezpieczeństwa w trakcie składania podpisu elektronicznego, zalecamy Państwu instalowanie naszego oprogramowania wyłącznie na stacjach roboczych z systemem operacyjnym Microsoft Windows NT lub Microsoft Windows XP.

Certum (Unizeto) jest na liście CA/O forum. Co nowego w podpisie u nich:

  1. 2006-10-23 -Nowe usługi kwalifikowane Powszechnego Centrum Certyfikacji CERTUM

    W dniu 17.10.2006 r. Powszechne Centrum Certyfikacji CERTUM należące do Unizeto Technologies, jako pierwsze w Polsce uzyskało zaświadczenie Narodowego Centrum Certyfikacji (NCCert) umożliwiające rozszerzenie zakresu dotychczas świadczonych usług kwalifikowanych o kolejne trzy usługi:

    • weryfikację statusu certyfikatów w trybie online (OCSP) - Kwalifikowane OCSP

      Usługa polegająca na wystawianiu elektronicznego zaświadczenia potwierdzającego, że weryfikowany certyfikat jest certyfikatem kwalifikowanym i ważnym w momencie weryfikacji. Pozwala na sprawdzenie statusu certyfikatów kwalifikowanych wszystkich wystawców w Polsce.

      Usługa realizowana według „Polityki certyfikacji” spełniającej wymagania ustawy o podpisie elektronicznym, podlegająca audytom Ministra Gospodarki i na jego wniosek wpisana do rejestru usług kwalifikowanych związanych z podpisem elektronicznym.


    • walidację danych (DVCS),


    • poświadczanie odbioru i przedłożenia (DA).
  2. Status certyfikatu - OCSP (ang. Online Certificate Status Protocol) OCSP (Online Certificate Status Protocol) jest standardem opisującym protokół komunikacyjny pomiędzy systemem informatycznym odbiorcy usług certyfikacyjnych a serwerem usługowym. Protokół ten określa format i strukturę zapytania (żądania) o status certyfikatu oraz format i strukturę odpowiedzi („tokenu”), która zawiera wynik weryfikacji w postaci statusu: „poprawny”, „unieważniony”, „nieznany”.
  3. Wydanie zaświadczenia ze statusem „poprawny” oznacza, że certyfikat jest wystawiony przez jeden z podmiotów, których certyfikaty objęte są usługą OCSP oraz, że podmiot ten na moment udzielania odpowiedzi skutecznie nie unieważnił sprawdzanego certyfikatu.

    Korzystanie z zaufanej usługi OCSP jest praktyczniejszą i bardziej „bezpieczną” formą weryfikacji ważności certyfikatu niż przeszukiwanie list unieważnionych certyfikatów (CRL). -

    Kwalifikowana usługa OCSP pozwala szybko ustalić status certyfikatu kwalifikowanego wystawionego przez każde z polskich centrów certyfikacji świadczących kwalifikowane usługi certyfikacyjne. Wynik sprawdzenia statusu certyfikatu jest wydawany w postaci zaświadczenia (dokumentu) elektronicznego poświadczonego przez urząd OCSP. Zaświadczenie to stanowi dowód wykonania weryfikacji. Elektroniczne potwierdzenie statusu każdego certyfikatu może być przesłane za pomocą poczty e-mail autorowi zapytania.

    Alternatywą do korzystania z usługi OCSP jest „samodzielne” wykonanie weryfikacji ważności certyfikatu poprzez przeglądanie list unieważnionych certyfikatów (CRL). Przeprowadzenie poprawnie takiej weryfikacji obarczone jest sporym ryzykiem związanym z zagrożeniami występującymi w sieci Internet oraz z brakiem posiadania aktualnej wiedzy na temat wszystkich wystawców i typów certyfikatów uznanych za kwalifikowane. Natomiast w przypadku korzystania z usługi OCSP mamy do czynienia z jednym tzw. punktem zaufania; po otrzymaniu odpowiedzi z urzędu OCSP wystarczy sprawdzić autentyczność poświadczenia (podpisu) urzędu za pomocą danych powszechnie znanych, zawartych w zaświadczeniu certyfikacyjnym wydanym przez Narodowe Centrum Certyfikacji na wniosek Ministra Gospodarki. -z tego wynika, ze Certum świadczy centralnie o ważności wszystkich certyfikatów w Polsce.


  4. Zakończenie budowy i organizacji Centrum Danych 30 września 2006 r. zakończył się rozpoczęty 1 lipca 2004 r. projekt "Budowa i organizacja Centrum Danych realizującego misje krytyczne" dofinansowany w ramach Sektorowego Programu Operacyjnego Wzrost Konkurencyjności Przedsiębiorstw, poddziałanie 2.2.1.


  5. Struktura cennika Certum - wszystko jest płatne - cena biblioteki API dla dewelopera wynosi około 4000 zł (nett), nawet runtime dla użytkownika końcowego (skandal - to wcale nie pomoże w upowszechnieniu podpisu w Polsce!)
  6. Sigillum też przygotowało bibliotekę API - cena około 5000 zł

Ciekawostki, zagwozdki

Witam!

Łącza na dziś (5.12.2006)

  1. Portal www.developer.com - zawiera pod portale: jars, codeguru, earthweb, jguru, gamelan
  2. http://www.developer.com/net/asp/article.php/3644731 - ASP.NET Tip: Testing Web Sites with HttpWebRequest
  3. http://www.developer.com/net/net/article.php/3643406 - .NET Tip: Testing Network Services with the TcpClient Class
  4. http://www.developer.com/net/article.php/3483116 - annual awards 2005
  5. http://www.developer.com/tech/article.php/1557921 - to samo ale dla 2003 roku, zwyciężył Microsoft Visual Studio .NET oraz C#
  6. http://www.developer.com/lang/other/article.php/3637156 - Top 10 articles za zeszły miesiąc
  7. http://www.developer.com/net/asp/article.php/981571 - Programming WebForms
  8. http://www.developer.com/tech/article.php/607001 - Building client-side

Lekkie bazy

Expresso, komu? Zacięta rywalizacja na rynku baz danych typu Express. Mamy już do wyboru:

  1. MS SQL Server 2005 Express Edition,
  2. Oracle udostępnił Oracle 10g Express Edition (Oracle Database XE),
  3. IBM wystąpil z ofertą DB2 Express-C
  4. Do tego dołączyli się MySQL z MySQL Community Server (wersja open source, wersja komercyjna nosi nazwę MySQL Enterprise).

Co wybrać? Ostatnio do parametrów doszło kryterium "bezpieczeństwo" - okazało się niedawno, że SQL Server jest bezpieczniejszy od Oracle 10g. Bazowe parametry:
  1. wydajność,
  2. intergracja z systemem operacyjnym,
  3. skalowalność,
  4. wsparcie dla dodatkowych technologii (XML, raportowanie, CLR, Java),
  5. uzbrojenie (narzędzia do rozwoju aplikacji i zarządzania bazą)
  6. wsparcie dla różnych platform (Linux, Unix, Windows)

poniedziałek, grudnia 04, 2006

ActiveX

Jajko czy kura?

Ten odwieczny problem znalazł swoje postać w pytaniu związanym z .NET:

Co lepiej wstawiać? WinForm do WebForm czy WebForm do WinForm?

Na stronach http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1461081 opublikowano sposób właczenie WinForm do WebForm. Pozwala to na włączenie bardzo zaawansowanych kontrolek w stylu ActiveX osadzonych w WinForm do stron internetowych (WebForm). Cenę za co musimy zapłacić jest oczywiście bezpieczeństwo aplikacji internetowej. "OK, let’s return to web application security 101. Web applications must NEVER trust the client (web browser). This is gospel whether the web page interfaces use JavaScript, Flash, ActiveX, Applets, AJAX or any other protocol or language. Every developer should be aware that basic HTTP proxies may alter anything about the HTTP request, even those generated by XHR. Great care should be taken to ensure that all security checks are performed on the server--no exceptions." - cytat ze świetnej pracy na temat rzekomego niebezpieczeństwa stosowania technologii AJAX, który znajduje się na stronach http://www.whitehatsec.com/home/resources/articles/files/myth_busting_ajax_insecurity.html. Nigdy nie ufaj klientowi - to stara zasada i odnosi nie nie tylko do klasycznego rozwiązania (przeglądarki internetowej), ale również i do innych form np. widgetów z Opery czy Yahoo.

Przechodzimy do tematu starego jak świat "uruchamianie ActiveX w środowisku nie IE". Na szczęście mamy parę sprawdzonych rozwiązań dostepnych dla technologii Mozilla. Na stronie http://www.iol.ie/~locka/mozilla/plugin.htm jest wtyczka (plug-in) do wersji FireFox 1.5. Do tego jest świetny artykuł na codeguru o tym jak "Kod zarządzany na stronach WWW (kontrolki .NETw IE)" - http://www.codeguru.pl/article-643.aspx a na codeproject jest inny "Simple way to expose a .NET WinForm control as an ActiveX control in any HTML page" - http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1311281#xx1311281xx (efekt wyszukania w gg 'embedding Winform in WebForm') do tego świetna recenzja ""I suppose that many people find this link like I did and think ActiveX is the only way to expose WinForms to the browser. This is not the case nor is it the best or reccomended method. Please review the following link: http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsIeSourcing.aspx This is a much simple and straight forward way of embedding .Net WinForms inside of Internet Explorer. I want to add that this is not meant as a diss on the author of this article. He has a good solution to try to expose .Net control as an ActiveX object. I just believe that is not what people are really looking for when they find this. They just require a good way of embedding WinForm inside Internet Explorer"

Jajko czy kura?

Jajko czy kura?
Ten odwieczny problem znalazł swoje postać w pytaniu związanym z .NET: Co lepiej wstawiać? WinForm do WebForm czy WebForm do WinForm?
Na stronach http://www.codeproject.com/cs/miscctrl/htmlwincontrol.asp?df=100&forumid=17987&exp=0&select=1461081 opublikowano sposób właczenie WinForm do WebForm. Pozwala to na włączenie bardzo zaawansowanych kontrolek w stylu ActiveX osadzonych w WinForm do stron internetowych (WebForm). Cenę za co musimy zapłacić jest oczywiście bezpieczeństwo aplikacji internetowej.

AJAX - brzytwa w rekach malpy?

"OK, let’s return to web application security 101. Web applications must NEVER trust the client (web browser). This is gospel whether the web page interfaces use JavaScript, Flash, ActiveX, Applets, AJAX or any other protocol or language. Every developer should be aware that basic HTTP proxies may alter anything about the HTTP request, even those generated by XHR. Great care should be taken to ensure that all security checks are performed on the server--no exceptions." - cytat ze świetnej pracy na temat rzekomego niebezpieczeństwa stosowania technologii AJAX, który znajduje się na ższych stronach . Nigdy nie ufaj klientowi - to stara zasada i odnosi nie nie tylko do klasycznego rozwiązania (przeglądarki internetowej), ale również i do innych form np. widgetów z Opery czy Yahoo.

Każda przeglądarka ma wbudowany mechanizm wspierający XMLHTTPRequest (XHR). Istotą aplikacji typu Web 2.0 jest pobieranie danych z różnych trzecich serwerów w ten sposób doprowadzając do słynnego "mesh-up" czyli misz-masz. Stwarza to określone zagrożenie dla odbiorcy aplikacji. Na szczęście XHR technologia nie zezwala bezpośrednio na tego rodzaju sztuczki. "XHR has security protections built-in, preventing a user’s browser on Website A from making connections to Website B." Ale są różne obejścia tego ograniczenia. Rozwiązanie polega na stworzenie serwera pośrednika w domenie internetowej tzw. proxy (najczęściej na serwerze internetowym witryny). Odwołanie do witryny B ma przez serwer proxy taka postać http://websiteA/proxy?url=http://websitesB/ - w ten sposób proxy przekazuje żądanie z witryny A do witryny B. Wten sposób można ominąć ograniczenia XHR i apliakcja nie przesyła cookies. Ale w ten sposób witryna A gości odwołania do witryny B. Bezpieczeństwo polega na monitorowaniu do jakich to URL chcą się odwołać strony witryny B. A więc na kontroli i samocenzurze. Odnośnie Cross-Site-Scripting (XSS) to rzeczywiście AJAX na to zezwala, ale stosując wyłącznie JavaScript możemy "osiagnąć" taki sam efekt bez uciekania się do nadmiernej komplikacji w AJAX. Autor (Jeremiah Grossman) zademonstrował to w słynnej prezentacji “Hacking Intranet Websites from the Outside” at BlackHat 2006. Z kolei inna prezentacja pt. “Cross-Site Scripting Worms and Viruses" pokazuje jak możne to osiagnąć poprzez JS.

Zasady bezpiecznej aplikacji internetowej to KROK 1 polegający na:
  1. uwzględnienie aspektów bezpieczeństwa juz na etapie projektowania aplikacji
  2. dogłębne sprawdzania danych podanych przez użytkownika
  3. stosowanie tylko sprawdzonych bibliotek komponentów (dostępnych w branży), obojętne na jakiej licencji (closed lub open source), nie wymyslać na nowo koła (i powtarzać błędy innych) szczególnie przy kryptografii i zarządzaniu sesją.
  4. bezpieczna koniguracja (separacja usług, zasada najmniejszych przywilejów, wyłączenie usług zbędnych oraz komunikatów o błędach)
  5. Stałe poszukiwanie i naprawianie ewentualnych usterek. Stały pomiar i ocena podatności na atak (vulnerability assessment)

KROK 2 polega na nieustajacym monitorowaniu i walidacji rozwiązań.

środa, listopada 29, 2006

Różności

  1. Nowości do ściągnięcia z betanews:
    Opera, SIW, MS XML NotePad , Maxthon, LivePool - gra
  2. Książki:
    - Co z tym Flashem ? Ukazała się książka na ten temat "adds a deep look at the centerpiece of Flash Player's new API: display programming. Enjoy hundreds of brand new pages covering exciting new language features, such as the DOM-based event architecture, E4X (jest to ECMA standard dostępu do XML w JavaScript - wspiera go tylko Mozilla od 1.5; IE 7 nie widzi go (jeszcze), and namespaces--all brimming with real-world sample code. " - Essential ActionScript 3.0: Rough Cuts Version by Colin Mook.
    - JavaScript: The Definitive Guide, Fifth Edition By David Flanagan
  3. Cenna rada:
    Jeśli korzystasz z Internet Explorera, możesz go przystosować do swoich potrzeb. Na przykład - zmienić napis "Internet Explorer" na inny, bardziej ci pasujący. Aby zamienić napis Microsoft Internet Explorer na pasku tytułowym przeglądarki Microsoftu, należy uruchomić Edytor Rejestru (Start Uruchom... regedit.exe) i wejść do klucza HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main.Odszukaj teraz klucz o nazwie Window Title albo utwórz go od nowa - kliknij prawym klawiszem w prawym okienku Edytora rejestru, wybierz Nowy Wartość ciągu "Window Title" (bez cudzysłowów).Wpisz tam dowolną wartość, np. PC World Komputer.
  4. Pomysły: a) dostać się do Google API, które odpowiadają za dostęp do kalendarza (wstawiać tam spotkania), edytora (konwertować) i arkusza (pobierać dane w celu zrobienia grafiki w zewnętrznym oknie). b) Tabulatory (Yahoo extension lub mój z domu), okna tworzone w kodzie (strona z DHTML sprzed 2-3 dni), persistence (w IE).
  5. Przykłady online do AJAX - http://www.parkerriver.com/ajaxhacks/ (mam też na dysku)
  6. Ciekawe łącza:
    http://developer.mozilla.org/en/docs/DOM:window.open - tworzenie okien modalnych i zmodyfikowanie standardowego zachowania obiektu window. Wszystko zależy od ustawień . Ciekawe ustawienia:
    dependent - If set to yes, the new window is said to be dependent of its parent window. A dependent window closes when its parent window closes. A dependent window is minimized on the Windows task bar only when its parent window is minimized. On Windows platforms, a dependent window does not show on the task bar. A dependent window also stays in front of the parent window. Dependent windows are not implemented on MacOS X, this option will be ignored. In MSIE 6, the nearest equivalent to this feature is the showModelessDialog() method.
    modal - Note: Starting with Mozilla 1.2.1, this feature requires the UniversalBrowserWrite privilege (bug 180048). Without this privilege, it is equivalent to dependent. If set to yes, the new window is said to be modal. The user cannot return to the main window until the modal window is closed. A typical modal window is created by the alert() function. The exact behavior of modal windows depends on the platform and on the Mozilla release version. The MSIE 6 equivalent to this feature is the showModalDialog() method.
    W IE - show....... - działa tak, że może zwracać parametry oraz zamyka się automatycznie kiedy rodzic jest zamknięty (to ostatnie jest w Mozulli też).
    http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/guide/ - kopia devedge - szukaj tam informacji o security w JS.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/servicefactory.asp - doskonały przepis na uporządkowanie WS wg. jakiegoś wzorca.
    http://ajaxian.com/by/topic/javascript/ - wszystko o AJAX
    http://news.com.com/The+A+to+Z+of+security/2009-7355-6138407.html?part=dht&tag=nl.e433 - wszystko o bezpieczeństwie, rozszerzeniach LiveConnect.
    http://www.thinkvitamin.com/features/design/wake-up-and-smell-the-ie7 - wyczuwanie z jaką przeglądarką mamy do czynienia.
    http://portableapps.com/apps - duży wybór aplikacji na FM.
    http://www.networkworld.com/reviews/2006/112706-explorer-firefox-test.html?page=2 - FF vs IE porównanie
    http://news.com.com/Windows+Wi-Fi+vulnerability+discovered/2100-1029_3-6027399.html - Bład w WiFi dla XP - Opis sytuacji "When a PC running Windows XP or Windows 2000 boots up, it will automatically try to connect to a wireless network. If the computer can't set up a wireless connection, it will establish an ad hoc connection to a local address. This is assigned with an IP address and Windows associates this address with the SSID of the last wireless network it connected to. The machine will then broadcast this SSID, looking to connect with other computers in the immediate area. The danger arises if an attacker listens for computers that are broadcasting in this way, and creates a network connection of their own with that same SSID. This would allow the two machines to associate together, potentially giving the attacker access to files on the victim's PC. " Rozwiązanie: "Users with Wi-Fi can disable the peer-to-peer facility by going to "Wireless Network Properties Advanced Network Access Point Choose Infrastructure Networks Only," said Wood. "We recommend people only connect to infrastructure points, although some users may want to use peer-to-peer for head-to-head gaming and file sharing." MessageLabs pointed out that system administrators can also mitigate the problem by blocking ports 135, 137, 138 and 139--which in Sunner's words "should be nailed shut already"--from accepting NetBIOS connections.
  7. Do podglądnięcia:
    Are vendors claiming code to be open source that isn't? Are SugarCRM, Socialtext, Zimbra, Scalix and others abusing the term "open source?" The next time you see the phrase "open source" used in association with some software, be advised that you'll need to take that claim with a grain of salt. READ FULL STORY
    Make Windows XP look like Vista...sort of Adrian Kingsley-Hughes: The Vista Transformation Pack 5.5 is a free download that makes Windows XP look like Vista. There are a few caveats though. READ FULL STORY
    Fixing Microsoft's Windows-development problems Many folks have ideas about how Microsoft can fix the myriad management and technical setbacks that resulted in Vista looking little like the product based on initial "Longhorn" expectations. And they're offering freely their two cents about what ails Windows and how to remedy the problems. Mary Jo Foley also offers her own predictions. READ FULL STORY
    Windows morphing into a Web service?
    Tasty Microsoft leftovers from Thanksgiving weekend READ FULL STORY
    http://docs.google.com/Doc?id=dg6q35cq_37dwfwdq - wzorzec Adaptera pomoga połączyć dwa różne obiekty w klasach
    http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-grid.html - Jak stworzyć WS w Java/Tomcat/AXIS

poniedziałek, listopada 27, 2006

Nowy SharePoint

To czego brakuje produktom bazującym na Star Office to brak wsparcie serverowego tj. nie mają servera dokumentów w rodzaju MS SharePoint. Od niedawna sytuacja ta się może zmienić za sprawą produktu O3Spaces (Holandia) pokazanego już w czasie tegorocznych targów Cbit. Jest to narzędzie do współdzielenia dokumentów. O3Spaces wykorzystuje J2EE ("on top of Apache Tomcat and the PostgreSQL database management system, and is designed to work with any LDAP directory service"). Działa pod Windows i Solaris. Użytkownicy mają dostęp do repozytorium w O3Spaces poprzez OpenOffice (specjalny interfejs webowy bazujący na AJAX lub asystenta tzw. Desktop Assistant - na bazie Javy. Wyszukiwanie dokumentów odbywa się dla formatów pdf, OpenOffice's native ODF and Microsoft Office.

poniedziałek, listopada 20, 2006

Ciekawe linki do Java

Zasoby o Javie -

  1. http://jdn.pl/node/197
  2. http://www.ploug.org.pl/materialy.php?action=k04
  3. http://java.sun.com/products/javacomm/ - Java obsługa portu COM
  4. http://www.codeproject.com/vb/net/Comport_made_simple.asp - VB obsługa portów COM

Zasoby na temat serwera SQL 2005 Express

Pożyteczne łącza na temat SQL Server 2005 Express

Resources

Community

Replikacja

Wazne - rozwiązanie problemy pobierania danych z odległych baz u klienta. Postawić u nich lokalny serwer HTTP (apache np.) i poprzez niego uruchamiać procedury kontaktujące się z lokalną bazą danych i wysyłajace do odbiorcy strumień odpowiednio sformułowanych danych. Takie rozwiązanie wydaje się lepsze od róznych odmian rsh (rexec, winrsh itd)