185 messaggi dal 24 marzo 2006
Salve ... Ho questa esigenza.

Il sito è scritto in Vb.net

Vorrei mettere sul sito in una cartella dei file sensibili.
Per questo motivo vorrei che non fosse possibile raggiungerli con il normale un URL ma vorrei criptarlo in modo da renderlo indecifrabile.


Es: www.a.com\Disegno\04460.dxf deve diventare qualcosa di simile www.a.com\ggttrent\fgfgfgfd.fòf
Modificato da jula il 02 febbraio 2013 10.09 -
42 messaggi dal 28 ottobre 2012
una prima soluzione semplice è chiamare la pagina dà un bottone e mettere
Server.Transfer("Scarti.aspx") non appare scarti ma appare la pagina chiamante, altrimenti in rete ci sono esempi anche su asp italia basta cercare rewrite url ma devi lavorare sull web config
75 messaggi dal 24 agosto 2006
"zanna77" <zanna77> ha scritto nel messaggio news:395228@...
una prima soluzione semplice è chiamare la pagina dà un bottone e mettere Server.Transfer("Scarti.aspx") non appare scarti ma appare la pagina chiamante, altrimenti in rete ci sono esempi anche su asp italia basta cercare rewrite url ma devi lavorare sull web config

Io faccio così:
Pagina chiamante:
Protected Sub btPulsanteLink_Click(sender As Object, e As EventArgs) Handles btPulsanteLink.Click
Dim QS As New CQS
QS.Add("ID", 0)
QS.Add("CF", 'ABCDEF12D21l219M')
Response.Redirect("/Pagina.aspx" & QS.MakeCryptedQueryString, False) QS = Nothing
End Sub

Pagina che apri:
Dim QS As New CQS(Request.QueryString("Key"))
If QS.GetValue("ID") Is Nothing Then
Response.Redirect("/HomePage.aspx", False)
Exit Sub
Else
ViewState.Add("ID", QS.GetValue("ID"))
ViewState.Add("CF", QS.GetValue("CF"))
End If
QS = Nothing
.....

e questa è la classe che fa uso di un qualsiasi algoritmo di crypt/dencryp che puoi trovare facilmente sul web

<Serializable()>
Public Class CQS
Dim QueryString As New List(Of QS)

Public Sub New(Key As String)
Try
Dim QueryStringOriginale =
Simple3Des.DecryptData(Key.Replace(" ", "+"))
Dim PV = QueryStringOriginale.Split("&")
For Each e In PV
Dim Dati = e.Split("=")
QueryString.Add(New QS With {.Parameter = Dati(0), ..Value = Dati(1)})
Next
Catch ex As Exception

End Try
End Sub

Public Function GetEncryptQueryString(QueryStringOriginale As String) As String
Try
Return "?Key=" &
Simple3Des.EncryptData(QueryStringOriginale)
Catch ex As Exception
Return String.Empty
End Try
End Function

Public Sub Add(ParameterName As String, Value As String) QueryString.Add(New QS With {.Parameter = ParameterName, .Value = Value})
End Sub

ReadOnly Property MakeCryptedQueryString
Get
Dim QueryStringOriginale As String = String.Empty For Each s In QueryString
QueryStringOriginale += "&" & s.Parameter & "=" & s.Value
Next
QueryStringOriginale = QueryStringOriginale.Substring(1) Return "?Key=" &
Simple3Des.EncryptData(QueryStringOriginale)
End Get
End Property

Public Function getCryptedQueryString(Key As String, Value As Object) As String
Me.Add(Key, Value)
Return Me.MakeCryptedQueryString
End Function

Public Function GetValue(ParameterName As String) As Object Dim e = QueryString.Find(Function(r) r.Parameter = ParameterName)
If e IsNot Nothing Then
Return e.Value
Else
Return Nothing
End If
e = Nothing
End Function

<Serializable()>
Public Class QS
Property Parameter As String
Property Value As Object
End Class
End Class

Spero ti sia utile

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.