Newsgroup: it.comp.lang.visual-basic
Titolo: [semi OT] Vocabolario parole volgari

Sto cercando un file di vocabolario in qualunque formato (testo, access, xls
ecc..) con parole volgari, bestemmie, imprecazioni, termini che si
riferiscono al sesso.
Sto creando un browser per bambini che posterò sul SC e devo "filtrare"
tutti i siti contenenti queste parole.
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

tutti i siti contenenti queste parole.
inizio io:
Cacca
Più seriamente, puoi filtrare tanto o poco (filtrerai tantissimo basandoti solo
sulle parole), ma tieni conto:
-il vocabolario dovrebbe contemplare tutte le lingue.
-il vocabolario non deve contenere parole troppo generiche:
	se filtri 'mazza' non potrai visualizzare siti sul baseball
	se filtri 'dick' impedirai la visione di una miriade di pagine lecite
-se la parola incriminata compare sotto forma di immagine, non te ne accorgi e
la pagina passa.
-se la pagina è costruita con frameset e iframe o flash o applet java la cosa si
complica ulteriormente.
-forse è più semplice fare un elenco dei siti consentiti:
	anche così rischi, perchè google ha in cache qualunque zozzeria, quindi
	si torna al filtro per contenuto.
-se decidi di proseguire per la strada del filtro per contenuto ti consiglio di
non usare il controllo WebBrowser, ma di scrivere un proxy locale che filtra le
pagine *prima* che arrivino al browser, qualunque esso sia:
	in questo caso prova a dare un'occhiata a Proxomitron, perchè esiste già
	e fa questo e tante altre cose, con filtri ampiamente personalizzabili e
	gestione di liste nere/bianche.
termoPilucco, ho/sono finito

 ha scritto

:)
da noi il blocco credo lo possa fare anche wingate. diciamo che il
minibrowser che ho in mente io non prevede text editabili, e avendo una
funzione specifica, se il look porta evidentemente a quella, dovrebbe
disorientare meno gli utenti.
dovrebbe...
ciao, a.

> da noi il blocco credo lo possa fare anche wingate
aaaaaahhhhhh! wingate! il proxy commeciale più (in)sicuro che ci sia in
circolazione... cambia proxy
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 circolazione... cambia proxy
sono tre anni che lo usiamo per alcune postazioni e non ci troviamo male.
hai suggerimenti (che non siano analogx) ?
nb: ci serve per limitare la navigazione su macchine a cui sono stati
bloccati cd, fd, gestione risorse, ecc.
ciao, j.

 ciao, j.
l'ho usato  anch'io in passato ma quando ho iniziato alcune attivitŕ
legate alla sicurezza aziendale, e ho 'scavato' su certi argomenti ho
scoperto che tutti i siti specializzati prendevano wingate come esempio
da non seguire... alcune prove (fatte da me sul mio proxy) hanno dato
ragioni...purtroppo é cosě
io ho da poco messo in piedi una macchina Lx con 3Proxy che puoi trovare
su 
http://www.security.nnov.ru/soft/3proxy/
 , non é male ed é leggero,
ha poche limitazioni e anche poche 'falle'. Non é intuitivo al massimo,
si configura con un file di configurazione ma é free se usato sotto
licenza GNU e gira su quasi tutte le piattaforme
Le limitazioni sono molteplici e anche i criteri di autenticazione cosě
come le allow/deny policies e cosě via... sicuramente da vedere, magari
con una macchina Lx anche se Windows é pienamente supportato.
ciao
Mirx


 termoPilucco, ho/sono finito
Quoto tutto perchè non so davvero cosa potrei tagliare.
Dunque: il mio browser è pensato per essere usato dai bambini e come tale
non mi interessa se mi blocca un sito dove la parola "sex" è usata come 6 in
latino. I bambini non vanno su siti in latino. E inoltre se un genitore
vuole vedere un determinato sito con il figlio, e il mio brw non glielo
consente, può sempre usare IE.
Il mio browser funge in questa maniera:
1-la pagina viene scaricata da un controllo inet e il codice salvato in una
stringa.
2-vengono cercate le occorrenze delle parole vietate e se c'è nè almeno una,
impedisce il acricmento nel controllo webbrowser.
3-Viene visualizzato un msg che spiega al bambino che in sito non è
consentito.
Il tutto con grafica adatta ai bambini (immagini di cartoni animati,
finestre colorate ecc...)


 consentito.
Scenario:
il bambino digita l'indirizzo e il sito contiene un frameset.
Intercetti anche i singoli frames che vengono caricati?
In caso contrario quando fornisci al WB il sorgente pulito della pagina,
vengono automaticamente caricati i frames che possono contenere qualunque
cosa.
termoPilucco

 contenere qualunque cosa.
Questa è una delle cose che ancora non riesco a gestire :-(
Se hai (avete) dei suggerimenti, sono ben accetti.


 Se hai (avete) dei suggerimenti, sono ben accetti.
sto guardando il webrowser.
al navigate elenca tutti i frame.
puoi intercettarli li', eventualmente in un wb nascosto di cui vai a leggere
inner/outertext ecc.
quanto al nuova finestra, al momento in newwindow2 ho messo cancel=true.
drastico ma efficiente :)
con calma vedo se riesco ad applicare anche li' il filtro dei domini.
ciao, a.

Per i frame ho risolto.
Ti posto il codice:
Private Sub brwWebBrowser_BeforeNavigate2(ByVal pDisp As Object, URL As
Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant,
Headers As Variant, Cancel As Boolean)
    Dim ParoleSito As String
    On Error GoTo errore
    If URL <> "about:blank" And URL <> (App.Path & "\bianco.htm") Then
        'UrlNuovaFinestra = URL
        ParoleSito = Inet1.OpenURL(CStr(URL))
        LCase (ParoleSito)
        If CercaParoleVietate(ParoleSito) <> 0 Then
            MsgBox "Il sito contiene termini non consentiti"
            Cancel = True
        End If
    End If
Exit Sub
errore:
    MsgBox Err.Description
End Sub
Ora però vorrei sapere come assegnare l'url a UrlNuovaFinestra.


 drastico ma efficiente :)
Si può fare in modo che ad ogni nuova finestra  venga istanziata la tua
applicazione che contiene WebBrowser al posto di IE.
A casa ho del codice adatto allo scopo e funziona bene.
termoPilucco

 A casa ho del codice adatto allo scopo e funziona bene.
ora faccio cosě:
Private Sub brwWebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim newbrowser As New frmBrowser
    Cancel = True
    newbrowser.Show
    'newbrowser.brwWebBrowser.Navigate UrlNuovaFinestra
End Sub
ma non so come inizializzare UrlNuovaFinestra
bye
PS Posta il tuo codice appena puoi...


 ha scritto

tempo fa avevo provicchiato
Private Sub WB1_NewWindow2(ppDisp As Object, Cancel As Boolean)
    If bEnbPops = False Then
        Cancel = True
    ElseIf bEnbPops = True Then
        Cancel = False
' nuova finestra in nuova istanza
'        Dim f As New frmWww
'        Set ppDisp = f.WB1.Object
'        f.Show
    End If
End Sub
non avendo pensato a classi il tutto, pero', apriva si' un altro form, ma
come a designtime.
il wb fra l'altro ha una proprieta' bool registerasbrowser, ma anche
mettendola a vera non ci sono grandi cambiamenti. ho l'impressione che si
riferisca piu' al motore di ie che alla specifica app, e come al solito per
il wb la documentazione, se c'e', e' quantomeno sparpagliata.
e' comunque vero quello che dice nicola. con un target _blank andare a
intercettare l'url non e' semplice. almeno, il filtro sul before navigate
non funziona, e se non c'e' cancel=true parte una finestra (di ie) anche
*con un indirizzo non consentito*. diciamo che se si aprisse un'istanza del
wb, l'url si dovrebbe poter gestire al suo interno.
se puoi postare il codice, te ne sono grato.
ciao, a.

End Sub
Dunque, premesse del mio codice:
'wb' è il nome del controllo di tipo WebBrowser
'WebBrowserPlus' è il nome del mio progetto (sono sempre modesto)
'WBP'  è il nome del mio form che contiene il controllo 'wb'
Codice:
Private Sub wb_NewWindow2(ppDisp As Object, Cancel As Boolean)
  Dim nw As WebBrowserPlus.WBP
  Set nw = New WebBrowserPlus.WBP
  ' qui sotto associ la nuova  istanza di IE 
  ' alla nuova istanza della controllo nella nuova form
  Set ppDisp = nw.wb.Object 
  nw.Visible = True
End Sub
termoPilucco

come a designtime.
Beh, questo è inevitabile.
Puoi sempre creare una funzione che copia su 'f' le caratteristiche che ti
interessano dal frmWww padre.
Tra l'altro per intercettare diversi eventi all'interno del controllo WebBrowser
si può fare una cosa di questo tipo:
Dim WithEvents Hdoc  As HTMLDocument ' ovviamente vanno aggiunti  iriferimenti
al progetto
All'evento DocumentComplete (del WB) si assegna 
Set Hdoc  = wb.Document
poi è possibile intercettare diverse cosette per esempio:
Function Hdoc_onclick() As Boolean
If Hdoc.activeElement.tagName = "A" Then MsgBox Hdoc.activeElement.href
End Function
In questo caso ho fatto in modo che se si clicca su un ancora viene visualizzato
il percorso del riferimento, ma, chiaramente, le possibilità sono infinite.
termoPilucco

 al progetto
ok, l'ho usato per innerhtml ecc.
grazie, proviamo.
in compenso, al momento, se si fa ^n appare una nuova finestra di ie...
keypreview e un menu con ^n non servono a niente.
non si finisce mai di imparare :)
ciao, a.