Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [JS] NS_ENABLE_TAINT

  1. #1

    [JS] NS_ENABLE_TAINT

    Buongiorno ragazzi,
    ho costruito un form con un oggetto FileUpload, in cui ho necessità di riproporre un path prelevato dal database.

    Purtroppo provando a settare la proprietà value di tale oggetto non ottengo effetto in quanto la proprietà è tained, ovvero protetta in scrittura.

    Spulciando sul manuale ho scoperto che settando la variabile di ambiente NS_ENABLE_TAINT a 1 tramite autoexec.bat (mi trovo su una rete locale con Win2000 quindi posso permettermi queste modifiche) si abilità la funzionalità di taint, ma non so invece come disabilitarla.

    Qualcuno sa come fare???

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ovviamente non con scripting... ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Beh è probabile che se la metti a 0 (zero) la disabiliti...ma non ho mica capito perchè non ti fa scrivere il value...è un form in una pagina html? come recuperi il dato dal database? che linguaggio utilizzi?
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  4. #4
    Purtroppo è una variabile di ambiente che già per il solo fatto di esistere indica di attivare la protezione, in pratica non importa a quale valore viene settato.

    Il database è mysql ed è letto tramite PHP, ma questo è relativamente importante.

    Quel che mi importa è poter settare io un valore in un campo fileupload. Infatti se provo a scrivere via codice JS nella proprietà value di un qualsiasi altro oggetto del form (text, textarea, hidden...) funziona alla perfezione mentre l'oggetto fileupload avendo la proprietà value tainted è in sola lettura oppure scrivibile direttamente dall'utente, ma non via codice.

  5. #5
    ma sai che io non ho mai visto l'oggetto dileupload? mi posti il codice del form che la cosa mi incuriosisce?

    comunque da manuale javascript:

    codice:
    untaint    
    Removes tainting from a data element or script. Client-side function
     
     
    Implemented in
     JavaScript 1.1
    
    
     
    
    
    Syntax  
    untaint([dataElementName])
    Parameters 
    dataElementName
     The property, variable, function, or object to remove tainting from. If omitted, taint is removed from the script itself.
     
    
    
    Description  
    untaint is a top-level function and is not associated with any object.
    
    Tainting prevents other scripts from passing information that should be secure and private, such as directory structures or user session history. JavaScript cannot pass tainted values on to any server without the end user's permission.
    
    Use untaint to clear tainting that marks data that should not to be sent by other scripts to different servers.
    
    A script can untaint only data that originated in that script (that is, only data that has the script's taint code or has the identity (null) taint code). If you use untaint with a data element from another server's script (or any data that you cannot untaint), untaint returns the data without change or error.
    
    In some cases, control flow rather than data flow carries tainted information. In these cases, taint is added to the script's window. You can remove taint from the script's window by calling untaint with no arguments, if the window contains taint only from the current window. 
    
    untaint does not modify its argument; instead, it returns an unmarked copy of the value, or, for objects, an unmarked reference to the value.
    
    Examples  
    The following statement removes taint from a property so that a script can send it to another server:
    
    untaintedStatus=untaint(window.defaultStatus)// untaintedStatus can now be sent in a URL or form post by other// scripts
    
    See also 
    
    navigator.taintEnabled, taint
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  6. #6
    purtroppo untaint sembra non funzionare sugli oggetti tainted dal motore JS stesso, ma solo su quelli tainted dall'utente (via codice).

    Per quel che riguarda il l'oggetto fileupload è molto semplice da usare, quantomeno per recuperare il percorso di un file aprendo la classica finestra di apertura di windows. Se invece intendi fare un upload di un file è altra cosa.

    Ti posto qualche riga del mio codice è di come ho risolto il problema raggirandolo (quanto meno fino a quando non trovo una soluzione più gradevole e pulita).

    codice:
    <input type="text" name="TxtPath" maxlength=255>
    <input type="file" name="FilePath" style="width: 0px; border-width: 0" onchange="document.forms[0].TxtPath.value=document.forms[0].FilePath.value;">
    In questo modo l'utente vede e scrive su una classica casella di testo mentre della casella fileupload ne vede solo il pulsante (dato che la relativa casella di testo associata è ridotta a 0 pixel) e quando l'utente apre la casella di selezione file premendo il pulsante, quanto ha scelto viene in automatico riproposto su TxtPath, grazie all'evento onchange.

    La scrittura da/su database diventa quindi tutta basata su TxtPath e non più su FilePath.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.