February 2008 Blog Posts

SDL, documentazione e tools

A questo punto del progetto dovreste aver pronto un prodotto con pochi bugs e un pò di tools che avete creato per testare il vostro software (o che magari avevate già). Affinchè il vostro cliente utilizzi in maniera corretta l'applicativo, dovremo rilasciare un pò di documentazione affinchè possiamo rendere noti le scelte fatte per rendere il software sicuro. Setup documentation E' il tipo di documentazione dove andremo a scrivere informazioni quali: quale porta e quale protocollo utilizzeremo, perchè le utilizziamo, su che tipo di restrizioni di accesso deve avere la nostra applicazione, che restrizione dovremmo avere nella subnet. Si continuerà con evidenziare quali sistemi...

XSSDetect Public Beta

Oggi sono venuto a conoscenza di questo utile tools che analizza i vostri progetti ASP.NET, alla ricerca di Cross-Site Scripting (XSS), si integra perfettamente con VS 2005. Per scaricarlo cliccate quì. Tags: Security | SDL

Assunzioni Agili

Premessa: Forse questo post darà fastidio a qualcuno, forse verrà creato un caos oppure passerà inosservato ma ho voglia di scriverlo. :) Forse il titolo del post è errato, forviante e sto usando in maniera errata la dicitura Agile. Vedremo. Ricerca di lavoro, tipo: .net città: londra .NET Technical Architect ( .NET,...

Presentazione 2008

Salve ragazzi, purtroppo non mi sono registrato in tempo per la presentazione dei prodotti 2008. Non è che qualcuno di voi non va e può cedermi il suo ingresso? Grazie Tags: Altro

AJAX CalendarExtender Bug

Ultimamente durante lo sviluppo di un'applicazione web basata su ASP.NET utilizzando il CalendarExtender dell'AJAX Toolkit ver. 1.0.11119.0, ho notato un comportamento strano. Quando un CalendarExtender si trova all'interno di un UpdatePanel, questo tende a perdere i suoi style. Aspettando Silverlight 2, la soluzione per questo bug l'ho trovata nel seguente thread. In pratica ho aggiunto le seguenti linee di css, nel mio file di style:   .ajax__calendar_container {padding:4px;position:absolute;cursor:default;width:170px;font-size:11px;text-align:center;font-family:tahoma,verdana,helvetica;} .ajax__calendar_body {height:139px;width:170px;position:relative;overflow:hidden;margin:auto;} .ajax__calendar_days, .ajax__calendar_months, .ajax__calendar_years {top:0px;left:0px;height:139px;width:170px;position:absolute;text-align:center;margin:auto;} .ajax__calendar_container TABLE {font-size:11px;} .ajax__calendar_header {height:20px;width:100%;} .ajax__calendar_prev {cursor:pointer;width:15px;height:15px;float:left;background-repeat:no-repeat;background-position:50% 50%; background-image:url(WebResource.axd?d=x6lt9HfG5Si8NZjMNt1DLcY6US8hUl3G4muzIFtahMQFZTbwxJ00qsx5N8jeAW90ZvGxZ6SJJh48yx62JKItzQ2&t=633053122925312500);} .ajax__calendar_next {cursor:pointer;width:15px;height:15px;float:right;background-repeat:no-repeat;background-position:50% 50%;background-image:url(WebResource.axd?d=x6lt9HfG5Si8NZjMNt1DLcY6US8hUl3G4muzIFtahMQFZTbwxJ00qsx5N8jeAW90HZemRms4wXOo1BZWTwWtNQ2&t=633053122925312500);} .ajax__calendar_title {cursor:pointer;font-weight:bold;} .ajax__calendar_footer {height:15px;} .ajax__calendar_today {cursor:pointer;padding-top:3px;} .ajax__calendar_dayname {height:17px;width:17px;text-align:right;padding:0 2px;} .ajax__calendar_day {height:17px;width:18px;text-align:right;padding:0 2px;cursor:pointer;} .ajax__calendar_month {height:44px;width:40px;text-align:center;cursor:pointer;overflow:hidden;} .ajax__calendar_year {height:44px;width:40px;text-align:center;cursor:pointer;overflow:hidden;}   .ajax__calendar .ajax__calendar_container {border:1px solid #646464;background-color:#ffffff;color:#000000;} .ajax__calendar .ajax__calendar_footer {border-top:1px solid #f5f5f5;} .ajax__calendar .ajax__calendar_dayname {border-bottom:1px solid #f5f5f5;} .ajax__calendar .ajax__calendar_day {border:1px solid...

Silverlight 2 Beta 1

L'ha fatto di nuovo. Sicuramente molti di voi hanno già letto tutti i tutorial pubblicati da Scott Guthrie riguardo la beta 1 di Silverlight 2. Io ho appena finito e son rimasto veramente soddisfatto. Tutte le promesse che erano state fatte sono state mantenute. Non vedo l'ora d'aver la possibilità di creare un'applicativo con questa beta. Tags: Silverlight

SDL (Parte 8 - 5: Analisi dei rischi - Plan Mitigation)

9.     Plan Mitigation Che strategia applicare per ridurre o eliminare i rischi a cui il nostro sistema va incontro: Non far nulla Per threat di basso profilo è la scelta migliore. Cmq dovremo tener presente il threat in modo da risolverlo con il prossimo update. Rimuovere la funzionalità Se si vuole ridure il rischio di attacchi a zero, questa è l’unica soluzione, sopratutto quando il rischio è elevato e la funzionalità non è utilizzata dal cliente. Settare la funzionalità inattiva di default Quando la funzionalità viene utilizzata dal cliente, ma non è fondamentale per tutti gli utenti dell’applicativo, è utile disattivarla di default e renderla attiva solamente...

Problem solving

Io amo bastardi dentro :D Tags: Altro

Refactoring: Commenti

Mi è capitato spesso di legger commenti del tutto inutili al codice: // Calcola il valore inserito per due int res = CalcolaIlValoreInseritoPerDue(valoreDaCalcolare); Inseriti perchè un PM troppo invasivo o una mente troppo contorta, hanno obbligato lo sviluppatore a scrivere. Una delle regole del Refactoring consiste nello scrivere codice autoesplicativo; così facendo inserire dei commenti nel codice diventa ridondante e inutile. Rimane però un caso nel quale scrivere un commento può tornare utile, secondo me. Capita che sul finire di un progetto, non siamo stati abbastanza lungimiranti da scrivere una procedura in maniera abbastanza generica da poter applicare in più casi; così, con la morte nel cuore,...

SDL (Parte 8 - 4: Analisi dei rischi - Identity Threats to the System)

7.     Identity Threats to the System Adesso che il DFD è completato, bisogna stilare una lista con tutti gli elementi del DFD, perchè dovrai difendere questi elementi dagli attacchi. Non verranno inclusi i processi complessi, invece sono inclusi i processi, i sistemi di salvataggio dati e i canali in cui i dati si muovono. Faremo sempre riferimento al pet shop di un paio di post fà: DFD...

Design Patterns Simply

Ciao ragazzi, messaggio di servizio :D Qualcuno conosce questo libro? http://sourcemaking.com/design-patterns-simply Ne vale la pena? Grazie Tags: Altro

SDL (Parte 8 - 3: Analisi dei rischi - Determine Threat Types)

6.     Determine Threat Types In Microsoft per identificare un threat hanno creato un classificatore (taxonomy) chiamato STRIDE. STRIDE è una sigla formata da: ·         Spoofing Identity ·         Tampering ·         Repudiation ·         Information Disclosure ·         Denial of Service ·         Elevation of Privilege   Spoofing Identity Permette a chi attacca di far finta d’esser qualcun’altro o qualcos’altro. Esempio, permette di identificarsi come Bill Gates, come il dominio Microsoft.com o come il file Ntdll.dll. Tampering L’attaccante modifica dati o parti del codice, senza che il destinatario se ne accorga. Repudiation Chi attacca nega d’aver effettuato un’azione e il sistema attaccato non può né confermare né contraddire; questo può capitare quando un utente effettua un’operazione proibita ma il...

Uno per Volta

Microsoft ha in cantiere Volta . Cos'è Volta? Cito testualmente: The Volta technology preview is a developer toolset that enables you to build multi-tier web applications by applying familiar techniques and patterns. First, design and build your application as a .NET client application, then assign the portions of the application to run on the server and the client tiers late in the development process. The compiler creates cross-browser JavaScript for the client tier, web services for the server tier, and communication, serialization, synchronization, security, and other boilerplate code to tie the tiers together. Developers can target either web browsers or the CLR...