Identificativo articolo: 294698 - Ultima modifica: venerdì 15 giugno 2007 - Revisione: 5.2

Configurazione di Jet 4.0 per impedire l'esecuzione di funzioni non sicure in Access 2003

Suggerimento di sistemaIl presente articolo fa riferimento a un sistema operativo diverso da quello in uso. Il contenuto dell'articolo che potrebbe non essere relativo al sistema in uso è disabilitato.

In questa pagina

Espandi tutto | Chiudi tutto

INTRODUZIONE

La valutazione delle espressioni è utile in molte circostanze. Se tuttavia una parte dell'espressione contiene un comando Shell, quest'ultimo viene analizzato e quindi eseguito sul computer.

Per bloccare tali operazioni è possibile utilizzare la modalità sandbox, che tuttavia per impostazione predefinita non è abilitata in Jet 4.0 per le query eseguite in Microsoft Access. È invece abilitata per tutte le altre applicazioni non di Access, ad esempio ODBC.

Attivazione e disattivazione della modalità sandbox

Avviso L'errata modifica del Registro di sistema tramite l'editor o un altro metodo può causare seri problemi, che potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non è in grado di garantire la soluzione di problemi derivanti dall'errato utilizzo dell'editor del Registro di sistema. La modifica del Registro di sistema è a rischio e pericolo dell'utente.

La modalità sandbox può essere attivata per le applicazioni non di Access. A questo scopo è necessario installare Microsoft Jet 4.0 Service Pack 3 (SP3) o versione successiva. Dopo l'installazione di questo aggiornamento, alla successiva esecuzione di Jet viene aggiunta al Registro di sistema una nuova chiave che impedisce questo tipo di possibile rischio di sicurezza. La chiave aggiunta è la seguente:

\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode


Per ulteriori informazioni su come ottenere il service pack più recente per Jet 4.0, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
239114  (http://support.microsoft.com/kb/239114/ ) Versione aggiornata del modulo di gestione di database Microsoft Jet 4.0 disponibile per il download
Per rendere il sistema più resistente agli attacchi di malintenzionati e allo stesso tempo rendere possibile alle applicazioni meno recenti di continuare a funzionare, il funzionamento della modalità sandbox in Jet 4.0 Service Pack 8 è stato modificato in modo da poterlo controllare completamente.

È possibile impostare uno dei valori seguenti, dove 0 (zero) è il valore meno restrittivo e 3 quello più restrittivo. Il valore è di tipo DWORD.

Riduci questa tabellaEspandi questa tabella
ImpostazioneDescrizione
0La modalità sandbox è sempre disattivata.
1La modalità sandbox viene utilizzata per le applicazioni di Access ma non per le applicazioni non di Access.
2La modalità sandbox viene utilizzata per le applicazioni non di Access ma non per le applicazioni di Access. Si tratta del valore predefinito.
3La modalità sandbox è sempre utilizzata.

Quando si imposta il valore del Registro di sistema relativo alla modalità sandbox in Access 2003, tale valore è legato al livello di protezione delle macro. Se tale livello viene impostato su un valore medio o elevato, è possibile bloccare le espressioni non sicure. Se si utilizza questa opzione di blocco delle espressioni non sicure, la modalità sandbox viene impostata sul valore 3. Se invece il livello di protezione delle macro è impostato su un valore basso, è possibile disattivare il blocco delle espressioni. Quando si utilizza l'opzione di disattivazione del blocco delle espressioni, la modalità sandbox viene impostata su 2. Access 2003 viene preferibilmente eseguito con il blocco delle espressioni Jet attivato. Se si apre un database in Access 2003 con il livello di protezione delle macro impostato su un valore medio o elevato e la modalità sandbox è impostata su 2, viene chiesto di attivare il blocco delle espressioni.

Dopo l'attivazione della modalità sandbox e un tentativo di utilizzo di funzioni non sicure di Visual Basic, Applications Edition in una query di Jet 4.0, viene visualizzato un messaggio di errore analogo al seguente:

Funzione 'nomefunzione' non definita nell'espressione

Implementazione delle operazioni in modalità sandbox

L'implementazione della modalità sandbox è stata estesa in Jet 4.0 Service Pack 8 così da renderla maggiormente compatibile con i database di Access. Le implementazioni precedenti della modalità sandbox erano troppo restrittive per la maggior parte delle applicazioni di Access. A partire da Jet 4.0 Service Pack 8 la modalità sandobx migliorata continua a bloccare le funzioni non sicure di Visual Basic, Applications Edition ma in Jet 4.0 Service Pack 8 viene ora consentita l'esecuzione di funzioni definite dall'utente. Inoltre, quando si esegue la modalità sandbox di Jet 4.0 insieme con Access 2003, è possibile bloccare determinate funzioni e proprietà di Access considerate potenzialmente pericolose.

Utilizzo delle operazioni in modalità sandbox con Jet 4.0 Service Pack 3 e versioni successive


Nelle query Jet è possibile utilizzare le funzioni seguenti se la modalità sandbox è attivata. Le funzioni non elencate non sono disponibili in modalità sandbox.
Riduci questa tabellaEspandi questa tabella
ABS array ASC ASCB ASCW ATN
CBOOL CBYTE CCUR CDATE CDBL choose
CHR CHR$ CHRB CHRB$ CHRW CHRW$
CINT CLNG COS CSNG CSTR CVAR
CvDate CVErr date DATE$ DATEADD dateDiff
datePart DATESERIAL DATEVALUE day DDB error
error$ EXP fix format format$ fv
hex hex$ HOUR IIF IMEStatus inStr
INT IPMT IRR isDate isEmpty ISERROR
isNull isNumeric isObject lCase lCase$ LEFT
LEFT$ LEFTB LEFTB$ LEN LENB LOG
lTrim lTrim$ MID MID$ MIDB MIDB$
MINUTE MIRR MONTH NOW NPER NPV
oct oct$ partition PMT PPMT PV
QBColor RATE RGB RIGHT RIGHT$ RIGHTB
RIGHTB$ rnd round rTrim rTrim$ SECOND
sgn SIN SLN space space$ sqr
str str$ strComp strConv string string$
switch SYD TAN TIME TIME$ timer
timeSerial TIMEVALUE TRIM TRIM$ typeName uCase
uCase$ val varType WEEKDAY YEAR

Funzioni di Visual Basic, Applications Edition che causano errori se chiamate da una query Jet o da una proprietà di Access quando si utilizza Jet 4.0 Service Pack 8

Le funzioni seguenti di Visual Basic, Applications Edition causano un errore se chiamate da un'espressione in una query Jet o da una proprietà di Access:

Riduci questa tabellaEspandi questa tabella
AppActivateBeepCalendarCallByNameChDir
ChDriveCommandCommand$CreateObjectCurDir
CurDir$DeleteSettingDoEventsEnvironEnviron$
EOFErrFileAttrFileCopyFileDateTime
FileLenFreeFileGetAllSettingsGetAttrGetObject
GetSettingInputInput$InputBInputB$
KillLoadLocLOFRandomize
ResetSaveSettingSeekSendKeysSetAttr
ShellSpcTabUnloadUserForms
WidthDir Erl MacID


Funzioni e proprietà di Access bloccate dalla modalità sandbox di Jet 4.0

La modalità sandbox di Jet 4.0 blocca le seguenti funzioni e proprietà di Access se chiamate da un'espressione in una query Jet o da una proprietà di Access. Tali funzioni e proprietà vengono bloccate solo se in Access 2003 è in esecuzione la modalità sandbox migliorata.

Oggetto Application
Riduci questa tabellaEspandi questa tabella
AddAutoCorrect AddToFavorites ADOConnectString AnswerWizard Application
Assistant AutoCorrect BeginUndoable CloseCurrentDatabase CodeContextObject
CodeDb COMAddIns CommandBars CompactRepair ConvertAccessProject
CreateAccessProject CreateAdditionalData CreateControl CreateControlEx CreateDataAccessPage
CreateForm CreateGroupLevel CreateNewWorkgroupFile CreateReport CreateReportControl
CreateReportControlEx CurrentDb DataAccessPages DBEngine DDEExecute
DDEInitiate DDEPoke DDERequest DDETerminate DDETerminateAll
DefaultWebOptions DefaultWorkspaceClone DelAutoCorrect DeleteControl DeleteReportControl
DoCmd Echo ExportXML FeatureInstall FileDialog
FileSearch FollowHyperlink GetHiddenAttribute ImportXML InsertText
LanguageSettings LoadFromText LoadPicture ModulesNewAccessProject
NewCurrentDatabase NewFileTaskPane OpenAccessProject OpenCurrentDatabase Parent
ProductCodeQuit References RefreshDatabaseWindow RefreshTitleBar
ReloadAddIns ReplaceModuleRunRunCommand SaveAsText
SetDefaultWorkGroupFile SetHiddenAttribute SetOptionSetUndoRecording SysCmd
TransformXML VBEBuilderString MSODebugOptions VGXFrameInterval
WizHook
Oggetto BoundObjectFrame
Riduci questa tabellaEspandi questa tabella
Object


Oggetto Combobox
Riduci questa tabellaEspandi questa tabella
Recordset


Oggetto Control
Riduci questa tabellaEspandi questa tabella
Object

Oggetto CurrentProject
Riduci questa tabellaEspandi questa tabella
AccessConnection BaseConnectionString CloseConnection Connection OpenConnection


Oggetto CustomControl
Riduci questa tabellaEspandi questa tabella
Object


Oggetto Form
Riduci questa tabellaEspandi questa tabella
Dynaset Recordset RecordsetCloneChartSpace
ConnectControl ConnectSynch Module PivotTable


Oggetto Hyperlink
Riduci questa tabellaEspandi questa tabella
AddToFavorites CreateNewDocument Follow


Oggetto Listbox
Riduci questa tabellaEspandi questa tabella
Recordset


Oggetto ObjectFrame
Riduci questa tabellaEspandi questa tabella
Object


Oggetto Report
Riduci questa tabellaEspandi questa tabella
Recordset


Proprietà SmartTagAction
Riduci questa tabellaEspandi questa tabella
Execute


Oggetto Screen
Riduci questa tabellaEspandi questa tabella
ActiveDataAccessPage


Le informazioni in questo articolo si applicano a:
  • Microsoft Office Access 2003
Chiavi: 
kbappsolobj kberrmsg kbhowtomaster kbinfo kbregistry kbfix KB294698
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.