Archivio per dicembre 2011

NHibernate, utilizzo di liste comma separated per clausola WHERE IN – setParameter

Nota: Articoli etichettati come Snippet non contengono codice completo ma solo parti di esso, recuperate da appunti. Per cui, potrebbe essere necessario modificarne alcuni nomi o indici. Per ogni chiarimento, lasciate un commento all’articolo.

Se vi è la necessità di utilizzare, all’interno di una query HQL (Hibernate Query Language), la clausola “WHERE qualcosa IN”, Nhibernate fornisce la possibilità di utilizzare (anche per questo caso) le query parametriche, ovvero di evitare la creazione di query mediante concatenazione del testo.

Esempio:/* Lista di id: 3, 5, 9 */

— Concatenazione — Metodo poco elegante e poco “object oriented”

string listaId = “3, 5, 9”;  // Stringa creata mediante funzioni di concatenazione, es: string.join(…)
string myQuery = “UPDATE Assegnazione a SET a.qtaRendere = null WHERE a.id IN (” + listaId + “)”;

— Query parametrica — Bel metodo!

ArrayList listaIdAssegnazioni = new ArrayList();
listaIdAssegnazioni.Add((int)mle.idAssegnazione);  //Ripetuta per ogni id!

string myQuery = “UPDATE Assegnazione a SET a.qtaRendere = null WHERE a.id IN (:elencoId)”;
var qry = [ISession].CreateQuery(myQuery);  //con [ISession] si intende l’oggetto di tipo ISession già creato precedentemente
qry.SetParameterList(“elencoId”, listaIdAssegnazioni.ToArray(typeof(int)));
qry.ExecuteUpdate();

 

Annunci

, ,

Lascia un commento

Creazione macchina virtuale gratuita – VMWare console non richiesto

Se si ha bisogno di creare una macchina virtuale e non si ha a disposizione VMWare console, si può configurare la nuova macchina on line e scaricarne liberamente i file da web.

A questo punto è sufficiente installare VMWare player ed installare il nuovo sistema operativo mediante una .ISO o un supporto CdRom.

Il sito su cui configurare la macchina virtuale è:

www.easyvmx.com

 

 

,

Lascia un commento

Aggiornamento textbox in binding, quando si modifica il valore dell’oggetto – update textbox binding

Nota: Articoli etichettati come Snippet non contengono codice completo ma solo parti di esso, recuperate da appunti. Per cui, potrebbe essere necessario modificarne alcuni nomi o indici. Per ogni chiarimento, lasciate un commento all’articolo.

Qualora sia necessario forzare il valore di un oggetto messo in Binding con una textbox e si voglia riscontrare immediatamente tale cambiamento nel testo del controllo, eseguire il comando “ReadValue()”

i_assegnazione.qtaRendere = qtaRendereOriginale;
txtQtaRendere.DataBindings[0].ReadValue();

 

,

Lascia un commento

Attivazione plugin Flash (Youtube & co…) su Tor Browser (Firefox portable)

La configurazione predefinita di Tor Browser, scaricabile da qui, è impostata al massimo livello di sicurezza. Ciò non consente di visualizzare i filmati Flash ovvero la maggior parte dei siti di contenuti video, quali tv on line e YouTube. Per attivare la visione di tali siti, rinunciando ad un po’ di privacy, è possibile eseguire le seguenti procedure.

Come primo passo, effettuare l’installazione del plugin Flash sulla versione standard di Firefox con le funzionalità interne al browser o in alternativa, scaricare mediante Internet Explorer (!!!) la versione “Other Browsers” del plugin da qui.

A questo punto, recuperare dalla cartella C:\WINDOWS\system32\Macromed\Flash (per windows Xp 32 bit) i due files:

NPSWF32.dll e flashplayer.xpt

e copiarli in (root: cartella Tor Browser in cui è presente l’applicazione Tor)

Tor Browser\FirefoxPortable\Data\plugins e Tor Browser\FirefoxPortable\App\Firefox\plugins

E’ ora necessario configurare l’estensione Tor Button per Firefox per convincerlo a farci vedere i nostri amati video!

Aprire Tor Browser ed attendere l’avvio di Firefox Portable (Aurora). Da menu [Tools] cliccare [Add-ons]. Selezionare il pulsante [Options] del componente “Torbutton”. Dalla pagina [Security Settings] togliere la spunta ai primi 4 elementi:

  • Disable plugins during Tor usage (crucial)
  • Isolate dynamic contents Tor state (crucial)
  • Hook dangerous Javascript (crucial)
  • Resize window to the multiples of 50px during Tor usage (recommended)

Chiudere e riavviare Tor Browser per visualizzare i filmati Flash!

,

Lascia un commento

Ei, negli ultimi 10 giorni hai visitato il mio profilo 15 volte!!!!

Praticamente un giorno si ed un giorno pure, capita di aprire la bacheca di Facebook e leggere appelli su supposti “virus” che intasano il social network. Non è facile capire se si diffondano di più gli appelli stessi o i pericoli da cui essi vogliono metterci in guardia…

Oggi me ne è arrivato, appunto, un altro. E la curiosità di capire che cosa combinino questi pseudo-virus mi prende sempre la mano!

Intanto l’avviso (ovviamente con il link censurato): “ei, negli ultimi 10 giorni hai visitato il mio profilo 15 volte. Scopri anche tu chi spia il tuo Profilo con la nuova App Ufficiale -> lonXXXXXrning.info/?15XXX68”

A questo punto, armato di macchina virtuale, wireshark e account facebook “sacrificale”, ho seguito il link ed analizzato, prima con telnet e poi con lo sniffer, cosa succede. Ma dopo aver eseguito un DNS lookup!

L’indirizzo punta all’ IP di un server (posizionato tra il Canada e gli Stati Uniti) di una società di marketing on line e SEO optimization. Tra i numerosi server ospitati sulla sua infrastruttura ne spunta uno che pubblicizza, guarda i casi della vita, una società di “mass mailing”: “spam” per capirci…

Aprendo il link si ottiene la seguente pagina

<script language=”javascript” type=”text/javascript”>
<!–
window.setTimeout(‘window.location=”http://lonXXXXXrning1.info/?32XXX060&#8243;; ‘,1200); //
–>
</script>

che reindirizza il browser su un’altra pagina (ndr sullo stesso server), la quale utilizzando le API di Facebook richiede il login sul social network.

<!–
We use the JS SDK to provide a richer user experience. For more info, look here: http://github.com/face/connect-js
–>
<script>document.location=’https://www.facebook.com/login.php?api_key=1121XXX22238&cancel_url=http%3A%2F%2FlonXXXXXrning1.info%2F%3F32XXX060%3D&display=page&fbconnect=1&next=http%3A%2F%2F
lonXXXXXrning1.info.info%2F%3F32XXX060%3D&return_session=1&session_version=3&v=1.0&req_perms=xmpp_login’;
</script>

A questo punto… la mia ricerca finisce qui perchè Facebook ha già provveduto a bloccare l’applicazione e dunque quello che si può vedere con il browser è:

Analizzando la stringa di connessione a Facebook ne viene fuori che:

display=page: visualizza la richiesta di login in un'altra pagina (e non in un popup) req_perms=xmpp_login: consente all'applicazione di accedere alla bacheca ed alla chat... 

In pratica, per quanto poco si sia potuto vedere, immagino che l’applicazione cercasse di scrivere messaggi (come tutti i suoi predecessori) su bacheca e chat.

Come sempre il problema non è Facebook in se, che di base tutela bene la sua infrastruttura, ma di chi segue link senza usare la testa. Perchè quel link avrebbe potuto nascondere qualsiasi altra insidia, anche una pagina malevola in grado (quella si) di installare un worm sul pc.

Come sempre… attenzione!

,

1 Commento