Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174

    scrivere del codice html in una text box

    salve, sto facendo un piccolo sito e sto avendo difficoltà...
    in una pagina amministrativa del sito ci sono 2 text box dove io metto del testo e poi lo salvo nel database il quale farà venire questo testo nella home del sito...
    poi volevo migliorare il sito ovvero far si che potessi mettere del codice html nelle text box per far venire ad es il testo in grassetto, ecc ecc...
    per far ciò ho inserito nella pagina aspx l'attributo validate request = false, e devo dire che ciò ha funzionato alla grande, in quanto in locale mandando in esecuzione il sito funziona tutto alla perfezione...
    il problema sorge quando ho messo on line il sito...nel momento in cui metto codice html mi da pagina errore...

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtTesto="Testo grassetta").
    Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. To allow pages to override application request validation settings, set the requestValidationMode attribute in the httpRuntime configuration section to requestValidationMode="2.0". Example: <httpRuntime requestValidationMode="2.0" />. After setting this value, you can then disable request validation by setting validateRequest="false" in the Page directive or in the <pages> configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. For more information, see http://go.microsoft.com/fwlink/?LinkId=153133.

    Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtTesto="Testo grassetta").

    Source Error:

    The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:

    1. Add a "Debug=true" directive at the top of the file that generated the error. Example:

    <%@ Page Language="C#" Debug="true" %>

    or:

    2) Add the following section to the configuration file of your application:

    <configuration>
    <system.web>
    <compilation debug="true"/>
    </system.web>
    </configuration>

    Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.

    Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.

    Stack Trace:


    [HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtTesto="Testo grassetta").]
    System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +8730676
    System.Web.HttpRequest.ValidateNameValueCollection (NameValueCollection nvc, RequestValidationSource requestCollection) +122
    System.Web.HttpRequest.get_Form() +114
    System.Web.HttpRequest.get_HasForm() +8896047
    System.Web.UI.Page.GetCollectionBasedOnMethod(Bool ean dontReturnNull) +97
    System.Web.UI.Page.DeterminePostBackMode() +69
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8431
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +253
    System.Web.UI.Page.ProcessRequest() +78
    System.Web.UI.Page.ProcessRequestWithNoAssert(Http Context context) +21
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.amministrazione_eventi_dett_aspx.ProcessReques t(HttpContext context) +37
    System.Web.CallHandlerExecutionStep.System.Web.Htt pApplication.IExecutionStep.Execute() +100
    System.Web.HttpApplication.ExecuteStep(IExecutionS tep step, Boolean& completedSynchronously) +75
    --------------------------------------------------------------------------------
    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

    qualcuno può aiutarmi????

  2. #2
    Hai impostato questa opzione nella direttiva @Page giusto?
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    Si la ora ti metto le proprietà della mia pagina aspx così magari mi dici se ho sbagliato qualcosa


    <%@ Page Language="VB" MasterPageFile="~/Amministrazione/Masteradmin.master" AutoEventWireup="false" CodeFile="Eventi-Dett.aspx.vb" Inherits="Amministrazione_Eventi_Dett" title="Pagina senza titolo" ValidateRequest="false" %>


    Sai dirmi dove ho sbalgiato o cosa manca???

  4. #4
    No, non è sbagliato, non vorrei che il tuo errore si verifichi per un'altra motivazione:

    Se tu provi a fare un operazione del tipo:
    codice:
    MyLabel.Text = MyTextBox.Text
    li potrebbe scaturirsi cmq un problema, per ovviare dovresti fare:
    codice:
    MyLabel.Text = Server.HtmlEncode(MyTextBox.Text)
    non so se ho reso l'idea (sono in partenza da casa e vado di fretta).

    Facci sapere!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    si hai reso benissimo l'idea ma purtroppo il mio problema è diverso...cercherò di essere breve...
    In una pagina privata del sito io inserisco in due text box del testo e poi salvo con un apposito buttom il contenuto delle text in 2 campi di una tabella del database... ad ogni caricamento del sito nella home c'è un datalist il quale prende il contenuto di questi due campi del database e li fa vedere sottoforma di news...
    il tutto funziona perfettamente... poi giustamente iniziai a sentire la necessità di scrivere delle parole ad es in grassetto, corsivo ecc ecc e quindi pensai di mettere del codice html nelle text box ed all'inizio mi scoppiava la pagina...poi mi rivolsi qui al forum e mi fu detto che per far accettare del codice html dovevo mettere nella pagina asp net la proprietà validate request = false.... fatto ciò funzionò tutto alla perfezione, e il codice html lo prendeva alla grande....tutto questo in locale....
    poi quando ho messo tutto on line continuava a scoppiare la pagina ogni qualvolta ci inserivo codice html...non capisco perchè in locale funziona e on line la pagina scoppia

  6. #6
    Senti, allora per "tagliare la testa al toro" questa direttiva mettila nel web.config:
    codice:
    <pages ValidateRequest="false" />
    all'interno della voce system.web

    e facci sapere!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    fatto ma mi sottolinea sempre il validate dicendomi che non è dichiarato.... ora di seguito ti mando il mio web config così magari vedi se c'è qualcosa che nn va o mi dici dove metterlo...



    <?xml version="1.0"?>
    <!--
    Nota: come alternativa alla modifica manuale del file, è possibile utilizzare lo
    strumento di amministrazione Web per configurare le impostazioni dell'applicazione. Utilizzare il comando
    Configurazione ASP.NET del menu Sito Web di Visual Studio.
    Un elenco completo di impostazioni e commenti è disponibile nel file
    machine.config.comments che si trova in genere in
    \Windows\Microsoft.Net\Framework\v2.x\Config
    -->
    <configuration>
    <appSettings/>
    <connectionStrings>
    <clear/>
    <add name="CnStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=C:/Inetpub/wwwroot/servizioturismo/mdb-database/Turismo.mdb" providerName="System.Data.OleDB"/>

    </connectionStrings>
    <system.web>
    <customErrors mode="Off"></customErrors>
    <!--
    Impostare compilation debug="true" per inserire i
    simboli di debug nella pagina compilata. Poiché tale operazione ha effetto
    sulle prestazioni, impostare questo valore su true
    solo durante lo sviluppo.

    Opzioni di Visual Basic:
    Impostare strict="true" per impedire qualsiasi conversione di tipi di dati
    in caso di possibile perdita di dati.
    Impostare explicit="true" per imporre la dichiarazione di tutte le variabili.
    -->
    <compilation debug="true" strict="false" explicit="true">
    <assemblies>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Services.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
    <pages>
    <namespaces>
    <clear/>
    <add namespace="System"/>
    <add namespace="System.Collections"/>
    <add namespace="System.Collections.Generic"/>
    <add namespace="System.Collections.Specialized"/>
    <add namespace="System.Configuration"/>
    <add namespace="System.Text"/>
    <add namespace="System.Text.RegularExpressions"/>
    <add namespace="System.Web"/>
    <add namespace="System.Web.Caching"/>
    <add namespace="System.Web.SessionState"/>
    <add namespace="System.Web.Security"/>
    <add namespace="System.Web.Profile"/>
    <add namespace="System.Web.UI"/>
    <add namespace="System.Web.UI.WebControls"/>
    <add namespace="System.Web.UI.WebControls.WebParts"/>
    <add namespace="System.Web.UI.HtmlControls"/>
    </namespaces>
    </pages >
    <!--
    La sezione <authentication> consente di configurare
    la modalità di autenticazione della sicurezza utilizzata da
    ASP.NET per identificare un utente in ingresso.
    -->
    <authentication mode="Windows"/>
    <!--
    La sezione <customErrors> consente di configurare
    l'operazione da eseguire in caso di errore non gestito
    durante l'esecuzione di una richiesta. In particolare,
    consente agli sviluppatori di configurare le pagine di errore HTML
    in modo che vengano visualizzate al posto dell'analisi dello stack dell'errore.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
    <error statusCode="403" redirect="NoAccess.htm" />
    <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>
    -->
    </system.web>
    </configuration>

  8. #8
    Utente di HTML.it L'avatar di crow
    Registrato dal
    Dec 2009
    Messaggi
    174
    un attimo contrordine, ho fatto come hai detto tu e non mi ha dato errori ma purtroppo non ho risolto il problema in quanto mi scoppia on line

    Comunque mi è venuto un dubbio volevo parlarne con te e sapere se trovavi logica in quello che sto per dirti...
    potrebbe essere che questo problema sia dovuto al fatto che sto utilizzando uno spazio web gratuito??? mi spiego meglio
    io il mio sito l'ho poggiato su somee, ed inizio a pensare che il fatto che on line non mi facciano scrivere codice html nella text box possa dipendere dal fatto che loro si vogliono tutelare da possibili danni che potrei creargli scrivendo ad es script html contenetni virus...
    magari il problema non si vericherebbe se poggiassi il sito su uno spazio web a pagamento...
    ho questo dubbio perchè trovo assurdo he in locale funziona perfettamente mentre on line scoppia la pagina, ed anche perchè quando scoppia la pagina non mi da errore ma semplicemente mi dice:

    A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtTesto="dsadasda
    ").
    Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. To allow pages to override application request validation settings, set the requestValidationMode attribute in the httpRuntime configuration section to requestValidationMode="2.0". Example: <httpRuntime requestValidationMode="2.0" />. After setting this value, you can then disable request validation by setting validateRequest="false" in the Page directive or in the <pages> configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case. For more information, see http://go.microsoft.com/fwlink/?LinkId=153133.

    Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtTesto="dsadasda
    ").

    Source Error:

    The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:

    1. Add a "Debug=true" directive at the top of the file that generated the error. Example:

    <%@ Page Language="C#" Debug="true" %>

    or:

    2) Add the following section to the configuration file of your application:

    <configuration>
    <system.web>
    <compilation debug="true"/>
    </system.web>
    </configuration>

    Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.

    Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
    ovvero potenzialmente pericoloso...
    che ne pensi?????

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 © 2026 vBulletin Solutions, Inc. All rights reserved.