Jump to content


felipecm's Content

There have been 84 items by felipecm (Search limited from 30/03/2023)



Ordernar por                Order  

#725329 Throw Em C#

Posted by felipecm on 30/03/2006, 00:43 in .NET

Entao....

Throw dispara a Exception.
O throw faz com que vc chame exceptions que vc cria na hora, ou pre-existentes.

Eh recomendado nao usar throw, pois disparar exceptions sem necessidade pode comprometer a performance do sistema.

A partir do momento que vc dispara uma exception, o metodo chamador eh que recebe esse erro, e nao o método em que foi disparado a exception. Isso faz com que vc possa percorrer exceptions até o nivel mais alto, possibilitando um tratamento unico para exceptions.



Olá amigo, que eu saiba é para discriminar uma Exception(erro do sistema)

Vc usa num bloco

Try{

//código sujeito a falhas
}
//se der erro ele entra aqui e exibe a mensagem definida no throw
Catch (Exception ex)
{
throw new Exception(ex.Message)
}

Nesse caso o throw exibe a mensagem de erro!




#717812 Robótica, Interface, Asp

Posted by felipecm on 13/03/2006, 09:11 in ASP

hummmm
vlw! :D
daki pra frente as duvidas sao em forum de vb msm né???

VB ou .NET.

O que a gente pode guiar vc aqui é como fazer o processo de componentização, registro no COM+ e etc. Lembrando que pra um componente COM+ criado no .NET interagir com ASP 3.0 precisa do .NET Framework rodando na maquina.

[C#] http://www.codeproje...rp/cspplcds.asp
[VB.NET] http://support.micro...kb;en-us;823179
[VB 6] http://www.aaroncake...onics/vblpt.htm

Esse primeiro eh bem interessnte, ensina a controloar LCDs com a porta paralela usando C#.
Agora eh com vc.. (y)



#717686 Robótica, Interface, Asp

Posted by felipecm on 12/03/2006, 20:31 in ASP

nao dah! :~
o q eu kero é um q controle kd bit da lpt1, nao ke mande imprimir algo
mas vlw a inteção! :)

alguem mais saberia me ajudar? (y)

Bom, veja bem.
Eu acho interessante vc procurar alguma automação ou componente disso para VB ou .NET (C++, C# e afins).
A parte de ASP é tecnicamente a mais facil. Ela só vai pegar a sua classe exposta em COM+ e realizar as tarefas do mesmo.

Basicamente, vc vai criar um componente numa linguagem especifica, o ASP só vai executar os metodos desse componente, uma vez que não existe uma forma nativa da linguagem fazer essa interação.



#716126 Transformar De C# Para Vb

Posted by felipecm on 08/03/2006, 20:16 in .NET

Ois,

alguém sabe se existe alguma página que tenha as equivalências entre c# e vb?

Por exemplo, o que é que corresponde o "void" no VB?

Ou o "Static" ou o "using" ?

Conhecem alguma página que tenha essas equivalências ? Obrigado

Max

Tem algumas paginas na web que simulam conversão de codigo.
Um exemplo delas é essa aqui.
http://carlosag.net/...or/Default.aspx

Procure por "C# To VB.NET" nas suas buscas que vc acha bastante coisa

Nestes casos, void no VB é a SUB:
private void teste(int a) {}
Private Sub teste(ByVal A As Integer)
End Sub

Static no VB.NET eh a keyword Shared, e using para importar namespaces eh a palavra Imports.



#713997 Campo Data = Null

Posted by felipecm on 04/03/2006, 12:54 in .NET

Blz galera, preciso de esclarecer uma dúvida, tenho um campo data que não é obrigatório e quando ele não recebe nada eu não queria gravar no banco.

Só que no asp eu usava minhadata = null
e no vb.net como faço para determinar que o campo é vazio?

Acho que vc nao teria nenhum problema em usar a forma antiga.
Ou simplesmente, vc pode omitir o campo no INSERT. (y)



#711815 Fso

Posted by felipecm on 28/02/2006, 14:21 in ASP

pode fazer assim tambem

nome="sdfdsfdsfdsfdsfsdfdsfsduivo.txt"
pegar =Len(nome) -4
Response.Write Left(nome, pegar)

E se o arquivo for com mais de 3 caracteres, ou com menos :( ...

Por isso sugerimos outras possiveis soluçoes :)


[]'s

Se a extensão nao existir ou a string for vazia, ocorre o erro tbm. :D
Ai vai mais duas alternativas:

  strArqExt = "teste.doc"
  arrFile = Split(strArqExt, ".")
  If UBound(arrFile) > 0 Then Redim Preserve arrFile(UBound(arrFile) - 1)
  Response.Write(Join(arrFile, "."))

***

  strArqExt = "teste.doc"
  If InStr(strArqExt, ".") = 0 Then 
    strArq = strArqExt
  Else
    strArq = Left(strArqExt, InStrRev(strArqExt, ".") - 1)
  End If
  Response.Write(strArq)

(y)



#711809 Retirar O Excesso De Enters

Posted by felipecm on 28/02/2006, 14:10 in ASP

ae galera! consegui o codigo!
a quem possa interessar!
ta ae

texto = rs("mensagem")
texto = trim(texto)
'para retirar os espaços em branco
 Dim i, j
    ' Percorro o inicio pra verificar...
    For i=1 To Len(texto) Step 2
     If Asc(Mid(texto,i,1))<>13 Then Exit For
    Next 
    texto=Mid(texto,i,Len(texto))
    ' Percorro o fim pra verificar...
    For j=Len(texto) To 1 Step -2
     If Asc(Mid(texto,j,1))<>10 Then Exit For
    Next 
    texto=Mid(texto,1,j)
texto = (replace(texto,chr(13),"<br>"))
'usando o replace pra ter as quebras no meio do texto


valeu ai galera!!!

So lembrando, não criei esse codigo não.
achei ele prontinho na pagina, so acresceneti o TRIM
ate mais

Ai vai uma versão alternativa que eu tenho aqui.
Similar a função Trim, a regra é usar InStr / InStrRev para verificar enquanto existir uma string/caracter no comeco e no fim da string. (O caracter é passado como parâmetro):

  Function TrimAlt(strBuf, strChar)
    While InStr(strBuf, strChar) = 1
      strBuf = Mid(strBuf, Len(strChar) + 1)
    Wend
    
    While InStrRev(strBuf, strChar) = Len(strBuf) - (Len(strChar) - 1) And Len(strBuf) > 0
      strBuf = Left(strBuf, Len(strBuf) - Len(strChar))
    Wend
    
    TrimAlt = strBuf
  End Function

Segue como exemplo:
  Dim strTeste

  strTeste = vbCrLf & vbCrLf & "Teste123" & vbCrLf & "Teste123" & VbCrLf
  Response.Write(Replace(TrimAlt(strTeste, vbCrLf), vbCrLf, "<br />")`)

(y)



#707741 Envio De Password Para Mail

Posted by felipecm on 19/02/2006, 14:58 in .NET

Se não me engano, quando se utiliza o ComputeHash não é possivel converter para string novamente, vc consgue apenas fazer comparação...

eu sugiro o seguinte:

quando o visitante esquecer a senha o sistema crie uma nova e envie para ele antes de criptografar, depois criptografa e grava no banco de dados :)

Assim q eu faço!

Abraços

Só complementando ...

Depois que vc cria um hash, não há forma de retornar, pois é um método não-reversível.
Vc pode fazer da maneira que o wozniak falou, ou seja mandar a password antes de transformá-la em hash, ou pode utilizar um método de critografia simétrico:

RC2, DES, TripleDES, Rijndael entre outros que a Classe System.Security.Criptography fornece suporte.

http://msdn.microsof...ryptography.asp

Lembre-se que vc precisa de uma chave que servirá tanto pra critografar / descriptografar a mensagem.

http://msdn.microsof...mclasstopic.asp



#703827 Saber Retorno De Query

Posted by felipecm on 12/02/2006, 18:01 in .NET

Muito obrigado, estou usando VB, para net, e fiz

response.write(cmd.executenonquery()) e deu...

Mas estou com outra duvida!

Se o meu string for "insert into table values...." ele retorna quantas "rows affected"

Mas, imaginando agora que o meu string era:

CREATE TABLE [dbo].[teste] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[nome] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

quando eu uso a mesma função, ele cria de facto essa tabela, mas depois retorna a dizer que deu erro porque ela já existe! (e não existia ainda)

Ou seja, não posso usar cmd.executeNonQuery como no Insert :(
O que devo utilizar então?

É que estou tentando criar um script identico ao do phpmyadmin mas para sql!

Obrigadão,
Max

Se deu problema .. verifica se vc tem permissão no usuário para fazer alterações de estrutura na tabela. E se tiver, faz uma verificação de rotina, para evitar erros caso a tabela já exista. É só verificar se a tabela consta em sysobjects (sys.objects no 2005!):
IF EXISTS (SELECT name FROM sysobjects WHERE id = object_id(N'TableName') AND OBJECTPROPERTY(id, N'IsTable') = 1) 
  DROP TABLE TableName

E outra coisa, retorne o conteudo do ExecuteNonQuery() para uma variavel, e faça uma verificação com IsDbNull() antes de apresentar os dados.



#692851 Exportar Banco De Dados

Posted by felipecm on 22/01/2006, 19:53 in ASP

Galera, gostaria de saber como eu posso colocar um link na minha página administrativa para EXPORTAR o conteúdo de um banco de dados para umaa planilha excel?

Na administração do MySQL dá para fazer isso. Porém gostaria de fazer sem precisar entrar no administrador MySQL.

Uma alternativa é vc gerar recordsets e preencher TABLEs em ASP com os conteudos do banco .. e alterar o ContentType para o excel depois.

Ou msm, gerar um XML para o Excel (se eu nao me engano chama SpreadsheetML) na msdn contem SDK para Office Schemas..

Um outro meio, porem não recomendado é a automacao. Porém ela deve ser evitada a qualquer custo.. pois existem enormes problemas por detrais:
* Lentidão (roda em background, entao toda requisicao vai fazer abrir e fechar o Excel);
* Dependencia (sua aplicação vai depender de uma TLB do excel)
* Memória (se ocorrer algum erro no processo, ele nao ira fechar e a cada requisicao um processo novo na memoria vai consumir cada vez mais do servidor)
* Segurança e Autenticação (para executar automação sobre uma conta ASP, o componente precisa estar sobre o COM+ no modo interativo, o que obriga o usuario do servidor a estar logado no sistema).



#690904 Textbox E Richtextbox Com Width=100%?

Posted by felipecm on 18/01/2006, 20:26 in .NET

ae, o programa é executavel .exe, nao uma pagina na web :D

Rs ta certo ..

Entao (pra qualquer controle) vc tem 2 propriedades que vc pode olhar. No teu caso somente a primeira já resolve.

A propriedade Anchor tem o objetivo de ancorar o posicionamento de um objeto em relacao ao container em que ela se encontra.
Pro teu caso, ajusta a propriedade pra Left, Top, Right que quando a tela redimensionar o text vai expandir junto.

A propriedade Dock tem o objetivo de acoplar um controle em uma regiao especifica do container.



#689621 Textbox E Richtextbox Com Width=100%?

Posted by felipecm on 16/01/2006, 20:33 in .NET

como faço para um textbox ficar com width do tamanho do form automaticamente quando o usuario expande/contrai a tela?

Kara, vc pode atribuir a linha:
TextBox1.Style.Add("Width", "100%")



#689617 Threading, Conflitos ...

Posted by felipecm on 16/01/2006, 20:32 in .NET

ola

tenho um programa de chat, onde faço um thread pra ficar lendo mensagens de um StreamReader. só que tem um problema: a funcao que vai no ThreadStart "nao consegue" alterar a variavel text de um richtextbox. alguem pode me ajudar?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;
using System.Threading;

namespace ChatClient
{

    public partial class Form1 : Form
        
    {
        private StreamReader sr;
        private StreamWriter sw;
        public Form1()
        {
            try
            {
                TcpClient client = new TcpClient("localhost", 12345);
                NetworkStream ns = client.GetStream();
                sr = new StreamReader(ns);
                sw = new StreamWriter(ns);
            }
            catch (Exception e) { MessageBox.Show(e.ToString()); }
            
            InitializeComponent(); 
            Thread t = new Thread(new ThreadStart(readMess));
            t.Start();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string msg = textBox1.Text;
            try
            {
                textBox1.Text = "";
                sw.WriteLine(msg);
                sw.Flush();
                textBox1.Focus();
            }
            catch (Exception ee) { MessageBox.Show(ee.ToString()); }
        }
        public void chatText(string text)
        {
        // AQUI APRESENTA O PROBLEMA: InvalidOperationException
            chat.Text+=text;
        }
        public void readMess()
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                chatText(line);
            }
            Thread.Sleep(100);
        }
    }
}

Está certo, me deparei com um problema semelhante ao migrar uma aplicação 2003 para o 2005. O problema ocorre pq a Thread nao consegue "enxergar" algo que foi criado em outra thread (fora dela no caso). Uma solução é trabalhar com delegates.



#688865 Sistema Para Identificar Usuário

Posted by felipecm on 15/01/2006, 11:28 in ASP

Olá!

Gostaria de criar no meu site um sistema que atibui um número de identificação (ID) para o usuário, e armazene-o em um cookie. Como faço isso?

OBS: Nenhum usuário pode ter o mesmo número que outro e o cookie continua na máquina quando o usuário sair do side.

Aguardo resposta.

Kara vc pode resolver o problema de identificacao de varias maneiras:

- Criando uma variavel de aplicação que incrementa toda hora que criar o Cookie:
Application("cod") = Application("cod") + 1
- Utilizando o ID da sessão do usuario que provê uma identificacao unica:
Session.SessionID
- Gravando um registro no banco de dados e incrementando toda hora que criar o Cookie.

Mas, há um problema com o caso 1 e 2, no caso da aplicação restartar.
No caso 1, a variavel de aplicação irá se perder e comecará a contagem novamente.
No caso 2, pode haver casos de o sessonID se repetir.

Para armazenar no cookie, segue a ideia que o Generation postou acima.



#688388 Asp.net + Banco De Dados, Duvida!

Posted by felipecm on 14/01/2006, 11:16 in .NET

blz pessoal, sou novo e sou leigo em linguagens de programação, a unica que sei um pouco é HTML, vamos a duvida

eu achei um belo curso de ASP.NET mas pintou a duvida:

eu queria fazer php pq ele tem o mysql, dai pra programar e ter um banco de dados, seria muito fácil, e o servidor que vi, já oferece 50mb de mysql no plano php

já no ASP, o servidor me oferece:

ASP
Access
ASP.NET
Conexão ODBC
Componente AspHTTP
Componente CDO
Microsoft FrontPage
Componente
AspSmartupLoad

ou seja, eu mesmo teria que criar um banco de dados e upa-lo no servidor, o q daria mais trabalho, correto?

===================
outras perguntas

posso usar asp.net + mysql ?
aprendendo asp.net fica fácil de aprender php?
asp.net é melhor que php?

Bom .. vamos lá

Kara, tudo depende do tipo de aplicação que vc vai usar.
Chegar aqui e falar que uma tecnologia é superior a outra só vai gerar discussão rs...

ASP.NET consegue acessar o SGBD MySQL utilizando Conexao ODBC (talvez jah exista alguma tentativa de driver nativo!).
Agora, se vc nao tiver como utilizar MySQL com ASP.NET, o access é um banco de dados que pode servir para coisas pequenas. (Nao espere utilizar Stored Procedures, Functions, Triggers no Access!).

Talvez o VB.net/C# seja uma linguagem mais facil de aprendizado pra quem vem programando da familia do Visual Basic 6 e afins para o VB.net, e da familia do C++ para C#. porém hj em dia, a linguagem é uma coisa que nao deve ser levada em consideração, mas sim a plataforma. As vezes vc nao precisa nem saber como.. mas sim se dá pra fazer alguma coisa no framework.

Porém, PHP é uma linguagem que eh igualmente poderosa, e tem recursos completos pra vc criar naum um sistema, mas sim uma solucao.



#686537 Win Appp + C# + Xml

Posted by felipecm on 10/01/2006, 17:42 in .NET

eu tentei converter o seu codigo para c# mais nao deu muito certo nao

sera que poderas converte-lo?

Kara, esse arquivo pode ser usado como arquivo de configuração sim..
E ai a definição do Washington fika de acordo com as expectativas.

De qualquer jeito, vc pode usar a namespace System.XML para ler utilizando um XmlDocument ... ai segue mais uma forma de ler seu XML:

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="TesteKey" value="123456" />
</appSettings>


// Importe a namespace no toppo do seu codigo ...
using System.Xml;

// ...
public String GetKey(String strKey)
{

  XmlDocument xmlDoc = new XmlDocument();
  XmlNode xmlNd;
  String strRet = "";

  xmlDoc.Load(@"C:\C#\XmlKey\webconfig.xml");
  xmlNd = xmlDoc.SelectSingleNode("/appSettings/add[@key='" + strKey + "']");

  if (xmlNd != null)
    strRet = xmlNd.Attributes["value"].Value;

  return strRet;

}

// Pra usar, passe o nome da chave
strVar = this.GetKey("TesteKey") //Vai retornar "123456"



PS: Nao mexo com C#, entao pode haver alguns erros de sintaxe. ;)
Verifque se vc tem permissão de leitura sobre o arquivo

O metodo selectSingleNode seleciona um node (que é um elemento filho do XML) que esteja no caminho do XML. Por isso, eu passei o caminho dos elementos que chamam add.. e pedi pra recuperar somente o que tenha o atributo Key com o valor passado como parametro para o metodo.

Depois disso, se ele achou (nao retorna Null), insere na string de retorno o atributo Value do elemento encontrado.

Falowz.



#685114 Como Liga O Arquivos Aspx Com Aspx.vb

Posted by felipecm on 08/01/2006, 12:40 in .NET

e esse namespace oq é ?

Se vc nao alterou nada, o namespace deve ser o mesmo nome do projeto.
Para ficar uma organização facilitada, existe o namespace, que eh uma maneira de vc sub-dividir seu projeto.



#684952 Como Liga O Arquivos Aspx Com Aspx.vb

Posted by felipecm on 07/01/2006, 22:31 in .NET

Olá pessoal andei lendo sobre o ASP.net e vi que o código é mais organizado... no arquivo aspx fica o design da página com tosdos os comando html e no arquivo aspx.vb fica a codificação em vb.net... GOstaria de saber como faço para ligar essas duas páginas, ou seja, indicar no .aspx qual aspx.vb será usado.

Tenho o arquivo default3.aspx.vb com o seguinte conteúdo:

Public Class Default3: Inherits System.Web.UI.Page

	Protected Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt2.TextChanged

	End Sub

	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OK.Click
  Dim num1 As Single
  Dim num2 As Single
  Dim resultado As Single

  num1 = Val(txt1.Text)
  num2 = Val(txt2.Text)
  resultado = num1 + num2
  lblresultado.Text = resultado


	End Sub

	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

	End Sub
End Class

e no arquivo default3.aspx o código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
	<title>Untitled Page</title>
</head>
<body>
	<form id="form1" runat="server">
	<div>
  <asp:TextBox ID="txt1" runat="server" Width="35px"></asp:TextBox>
  <asp:TextBox ID="txt2" runat="server" Width="36px"></asp:TextBox>
  <asp:Label ID="lblresultado" runat="server"></asp:Label><br />
  <br />
  &nbsp;<asp:Button ID="OK" runat="server" Text="OK" />&nbsp;
	
	</div>
	</form>
</body>
</html>

como faço para ligar os dois arquivos?

Insira isso no teu arquivo aspx, antes de qualquer outra informacao:

<%@ Page Language="vb" Codebehind="Default3.aspx.vb" Inherits="NamespaceDoProjeto.Default3" %>

* A forma de code behind para versao de publicacao do 2005 eh diferente, ele aponta para o assembly ao invesz do arquivo.



#684950 Criar Página Em Asp.net 1.1 No Framework 2.0

Posted by felipecm on 07/01/2006, 22:26 in .NET

É possível criar páginas em asp.net 1.1 e asp.net 2.0 na mesma máquina ?
Acontece que o provedor que contratei (Terra Empresas) só agora descobriu que não tem suporte para asp.net 2.0 e eu já criei a página.
Como faço para "regredir" meu site para asp.net 1.1.
Eu comecei a aprender asp.net já em 2.0 e não sei direito quais as diferenças e o que devo fazer.
Odicezar

Kara, ferramenta que faca a migracao do 2005 para o 2003 eu nao conheco.

Cabe a vc ir fazendo o processo manualmente. Tem que se ligar em alguns incovenientes, como por exemplo o uso de partial class para separacao do codigo do designer, que eh comum no 2005 e no 2003 nao eh permitido e eh utilizado atraves de uma region. E os GridsViews, transformados em DataGrid..

Bom, se seu site foi compilado no framework 2, ele nao irah funcionar com a versao 1.1 do mesmo. (Faca um teste local, vah no IIS e altere nas configuracoes do Site a versao do ASP que estara rodando).

Abracos.



#684948 Problemas Ao Instalar O Visual Studio® .net 2003

Posted by felipecm on 07/01/2006, 22:22 in .NET

Ele está pedindo o CD dos pré-requisitos.
Você deve estar instalando direto do primeiro... Não? :blink:

Pra rodar o CD1 .. precisa dos pre-requisitos, que se eu nao me engano no 2003 tah no CD3 kra ;)



#681715 Segurança Na Internet

Posted by felipecm on 01/01/2006, 22:06 in ASP

cara, muito boa essa sua de renomear o pc... acho meio difícil alguem resolver descobrir os nomes de minhas sessões (já que naum estão em arquivos.inc... rs...)... mas d boa...

esse do Request.ServerVariables("HTTP_REFERER") eu uso em todos meus forms, dando o endereço da página q posta... tipo q dá uma ajudinha com os filtros e talz...

concordo com a inclusão de IP´s e datas no banco... é algo que deveria se tornar obrigatório!!!!!! rs... ponha o IP no seu banco!!!!

porém, se o cara tiver mesmo afim de te zoar, e ele jah tiver o mapa da mina, ele pode utilizar um dakeles servicinhos de anonymous q tem (pelo menos tinha) pela net e "mascarar" seu ip... rs... aí ferrô... rs... mas acho difícil existir tanta paciencia em um só ser....

cara, temos q difundir estas infos.. acho realmente importante tudo q foi dito aki, e realmente acho q falta qualificação e profissionalismo na NET.. tipo q tem gente q vai ver o tópico pendurado.. tah lah... SEGURANÇA NA INTERNET... e o carinha nem passa perto...

SQL Injection
Session
BD seguros
Senhas
URLs seguras
Includes seguros


por favor, se informem e divulguem!!!!

flws... (y)

Quanto ao IP, ele pode ser alterado.

Meu modem ADSL, sempre quando eu desligo e ligo ele, o IP muda.

E se o cara estiver em uma LanHouse? Irá gravar o IP de lá, e isso nada impede de o cara fazer sacanagem.

Não sei se existe IP fixo, mas o meu modem ADSL sempre muda o IP quando reiniciado.

O modem de vocês faz isso?

E outra:

Você pode criptografar os dados que colocar na SESSION, e melhor, utilizar a criptografia HASH, que não pode ser descriptografada.

Gostaria de saber uma coisa: Qual a diferença entre COOKIE e SESSION?

T+

Bom ... guardar IP é uma técnica razoavelmente eficiente.
Talvez nao para bloquear, mas para medidas mais pesadas, é facil contactar o provedor dono do IP e descobrir de quem veio a requisição no momento... ou seja, vc tem como rastrear o cara.

Claro que isso fica mto inviavel se vc for pensar em lan house, e acesso anonimo via proxy, porem vc tem que pensar da seguinte forma: Nunca seu site vai estar 100% seguro, todas essas medidas que citaram nesse topico e muitas outras adotadas, servem apenas para minimizar e tornar o seu site menos sujeito a ataques.

O ideal é sempre adotar uma postura que vise atingir o caso mais comum. Muitos IPS dinamicos existem, então o simples fato de vc "bloquear por IP" pode nao ser a melhor alternativa.

----

Vamos a segunda parte agora.
Criptografia é sempre bem vista quando o assunto é segurança.
Mas tem que ter o uso correto. Veja bem, nem sempre vc pode utilizar um algoritmo nao-reversivel para criptografar, pois precisa recuperar informações da session, como por exemplo o nome do usuario. Tem que se analisar o caso para verificar qual tipo de criptografia deve-se usar.
No caso de uma criptografia assimetrica/simetrica, o segredo está na criação e na onde estará armazenada as chaves.
Olha só, vc tem que adotar uma ideia de segurança por obscuridade. De fato nao se pode negar que existe a chave, mas ninguem deve saber onde ela está. Assim vc dificulta a ação do invasor.

Cookies e sessions são formas de armazenar informações e manter estados entre paginas / aplicações.
A diferenca base é que sessions são armazenadas no servidor (em memoria, processo ou bd caso .net) e cookies são armazenados no cliente.

Como sempre vc tem que pesar a sua informação e ver o que serve melhor pra ela. Imagina que o usuario X desabilitou cookies pelo navegador .. devemos entao usar session pra tudo???
De fato, não. A ideia é evitar o uso de sessions, pois elas sobrecarregam o servidor. Imagina que vc tenha cerca de 20 sessions carregadas durante uma sessão de um usuario. Se 100 usuarios entrarem ao mesmo tempo no site, vc agora tem 20.000 variaveis de sessão. É mto facil haver sobrecarga se isso não for devidamente tratado.

Abraços (y)



#670328 Receber Texto No Url - Asp.net Vb.net

Posted by felipecm on 09/12/2005, 20:50 in .NET

olá macul!

O meu problema não é com os "&"

No formulário flash eu consigo preencher:

Nome -> Zé
Mail -> aaaaaa@aaa.aaa

e ele corre o meu script asp.net:

sendmail.aspx?nome=z%E9&mail=aaaaaa@aaa.aaa

Até aqui n tem problema!

O problema na forma dele enviar o mail!

Quando abro o mail o nome que lá me apareceu foi só "z" em vez de Zé.

Disseram-me que eu tinha que dizer ao meu script asp.net que queria utilizar UTF-8

Já tentei vários scripts e n consegui :(
Não consigo receber "zé" no meu email

obrigado,
Max

Entao..

Cara, isso é problema de Encoding .. .da codificação da pagina..
Pra vc poder corrigir isso, é só alterar o ContentType do email para o padrão adequado UTF-8.. que seria Unicode.



#670324 Receber String Via "post"

Posted by felipecm on 09/12/2005, 20:42 in .NET

Olá, tenho um formulário em flash, que me manda o conteúdo de uma input text box, para uma pagina asp.net e depoois envia tudo para o meu mail.

Só que estou com problema.

qd essas caixa de texto tem várias linhas, o flash atribui "\r" a cada mudança de linha...

e depois envia por post.

Mas na minha pagina asp.net, eu fiz:

replace(request("var"),"\r","<br>")

Só que não está a ter o efeito pretendido!

o "\r" que o flash envia deve ser invisivel, e eu já tentei com:

Request.Querystring("var")
Request.Form("var")
Request.Form.GET("var")

e nenhum deles deu!

Está a faltar lguma coisa??

Obrigado
Max

Tenta dar replace em Quebras de Linha.. char (13)..

replace(request("var"),vbLf,"<br>")



#664481 Dúvidas

Posted by felipecm on 24/11/2005, 22:09 in .NET

Bom, vocês ou alguém que já tenha mais experiência do que eu na linguagem, o que é mais usado e mais seguro, uso de session, cookie ou adicionar as informações ao contexto (context) e mantê-las pelo viewstate?

Depende do tipo da sua informação.

Para manter uma segurança, eu aconselharia o uso de Sessions armazenadas em SqlServer, com o acesso no Web.Config sendo protegido por ACL. Mas como nem tudo é perfeito, as Sessions podem (e vão) congestionar um pouco seu Sql Server.

Talvez o Contexto pode ser uma boa opção no sentido de pouco fluxo de informação. Isso porque o Viewstate guarda toda a informação em um Hidden criptografado, isso de fato pode ser rapido localmente, mas vai afetar (e muito) no carregamento remoto da tua pagina.

No caso mais simples de guardar informações pequenas, temos o Cookie, que apesar de nao ser o mais seguro, ainda é bem pratico e rapido nesse aspecto.

A vantagem de usar sessions/applications é que elas tem o poder de se descarregar da memoria ao timeout ou abandon. Além disso, é usual para WebFarms onde vc tem q compartilhar sessions entre aplicações que residem em servidores diferentes.

Eu costumo por na balança antes de tudo, até onde eu quero chegar com a informação... pra depois ver uma forma que eu considero mais correta.

Vamos supor, se é o caso de vc passar um simples número entre duas paginas, uma simples QueryStrnig resolve todo o transtorno.
Agora vamos passar um ArrayList contendo 52 senhas de usuarios cadastrados no site. Viewstate seria descartado pelo fato do congestionamento e devemos dispor de segurança.. para isso uma simples session resolve o caso, mantendo um bom nivel de proteção.

Isso depende muito cara, como eu já bem citei aqui.. cada caso é um caso. (y)



#660462 Tabindex N Funciona Com Postback

Posted by felipecm on 12/11/2005, 10:45 in .NET

Olá!

Tenho um formulário com vários campos (dropdownlists... checkboxs, textboxs)

Os dropdownlist funcionam com postback

Mas qd eu seleciono um item eu perco o tabindex!
Volta-me sempre para o inicio da página.

E se estiver a ver uma lista muito grande em que tenha de andar com o scroll para baixo, se carrego em alguma coisa a pagina aparece-me toda em cima
Isto tem lógica, mas há mneira de controlar isto?

Obrigado,
Max

Olha só.. o que vc pode fazer pra contornar essa situaçao é o seguinte:

No evento do conrtole que efetua o postback.. por exemplo um combo _selectedIndexChanged:

RegisterStartUpScript("jsFocus", "<script>window.Form1.cbo.focus()</script>")

Com isso, vc vai imprimir um javascript para focus client apenas quando ele acionar o evento do combo, ou outro objeto.




IPB Skin By Virteq