January 24, 2011

Alterando o endereço IP do servidor usando asp.net

Alterando o endereço IP do computador que automaticamente é muito fácil. Microsoft Trickily Microsoft armazena as informações de IP no registro Consulte abaixo o código que muda o endereço IP do servidor host. Isso pode ser usado em janelas de aplicativos ou serviços do Windows para alterar o endereço IP do computador local e também pode ser usada em asp.net para alterar o endereço IP do servidor que hospeda sua aplicação asp.net. Certifique-se que namespace Microsoft.Win32 é visível para o código abaixo onde ele é colocado porque Win32 é necessária para manipular o registro do Windows. Reinicialização do servidor é necessária para os novos endereços IP para entrar em efeito.

 

RegistryKey key = Registry.LocalMachine.OpenSubKey(“SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces”, true);
// Registry key where IP information is stored.

foreach (string s in key.GetSubKeyNames())
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey(“SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\” + s, true);
if (rk.ValueCount >= 12) // In general, active network card will have more than 12 setting values
{

try
{

string[] s1 = { “12.24.36.48″, “13.26.39.64″ }; // Array of IP addresses to set.
rk.SetValue(“IPAddress”, s1);

}
catch (Exception exc)
{
// Error message logic here.
}

}
rk.Close();
}

Obs: Tente Não usar use este código antieticamente.

“O Código requer um nível de confiança total habilitado para o site ASP.NET para executar código acima, caso contrário não vai funcionar.”

January 19, 2011

Microsoft lança globalmente o Microsoft Dynamics CRM Online

A Microsoft anuncia a disponibilidade mundial do Microsoft Dynamics CRM Online, a versão em nuvem do novo Microsoft Dynamics CRM 2011. O serviço oferece uma experiência familiar, inteligente e conectada para promover o aumento da produtividade dos setores de vendas, serviços e marketing das empresas. Já as versões on-premise e hosteada em parceiros do Microsoft Dynamics CRM 2011 estarão disponíveis globalmente no dia 28 de fevereiro de 2011.

O Microsoft Dynamics CRM Online está sendo lançado pela primeira vez fora da América do Norte em 40 mercados e 41 idiomas. O produto está disponível hoje por um preço promocional de US$ 34 por usuário por mês nos primeiros 12 meses, para os clientes que aderirem até o dia 30 de junho de 2011. As empresas poderão acessar uma versão de testes gratuita do produto no site http://crm.dynamics.com.

“O lançamento do Microsoft Dynamics CRM Online complementa a estratégia de Cloud Computing da Microsoft no Brasil. Queremos oferecer opções de escolha e flexibilidade para nossos clientes corporativos que contam com um produto fácil de usar e que possibilita colaboração e racionalização de processos, além de acesso a dados em tempo real”, afirma Mauricio Prado Silva, gerente geral da Divisão da Microsoft Business Solutions da Microsoft Brasil. “Uma das grandes vantagens do produto é permitir a adoção pelas empresas de modelos híbridos, com a opção de manter as informações nos servidores internos ou com a hospedagem em nuvem”, destaca o executivo.

De acordo com o relatório IDC Brazil CRM Applications Tracker 1H10 o mercado brasileiro de CRM deverá manter seu ritmo de crescimento até 2014 acima da casa de dois dígitos. O relatório também prevê que o modelo de CRM por assinatura, que hoje representa cerca de 6% do mercado, aumente sua participação de forma significativa nos próximos anos. A IDC Brasil também aponta que durante o período analisado a Microsoft foi a empresa que mais ganhou market share no segmento de CRM em 2010.

Experiência familiar, inteligente e conectada

O Microsoft Dynamics CRM tem como objetivo fornecer o “Poder da Produtividade” por meio de uma experiência familiar, inteligente e conectada entre as pessoas de dentro e de fora de uma companhia:

Experiências familiares de vendas, serviços e usuários de marketing por meio da próxima geração do Microsoft Outlook, baseado em browser e com acesso remoto.

Experiências inteligentes por meio de processos de diálogos guiados, business intelligence para auxiliar na gestão de desempenho e definição de objetivos, fornecendo as mais atualizadas informações críticas para que os profissionais de vendas, serviços e marketing possam realizar seus trabalhos de forma mais eficaz.

Experiências conectadas por meio de uma plataforma flexível na nuvem, interoperabilidade com o Windows Azure e compatível com o Microsoft SharePoint e o novo Microsoft Dynamics Marketplace. Desta forma, os clientes podem customizar o Microsoft Dynamics CRM para atender as necessidades específicas de seus negócios.

O programa beta do Microsoft Dynamics CRM 2011 incluiu mais de 11.500 clientes e 2.000 parceiros, entre eles empresas que trocaram as soluções de concorrentes. A Magma Design Automation Inc., uma empresa de desenvolvimento de design automotivo de softwares, por exemplo, migrou de Salesforce.com para o Microsoft Dynamics CRM Online com objetivo de apoiar seus principais requisitos de negócios, incluindo uma melhor comunicação, compreensão e flexibilidade nos processos de mudança.

“Nós precisávamos de um sistema que fosse flexível o suficiente para aliviar as nossas demandas e necessidades específicas de negócios”, disse Vickie Flores, vice-presidente de Sistemas de Informação para a Magma Design Automation. “Com o Microsoft Dynamics CRM Online pudemos alterar rapidamente o nosso trabalho e processos empresariais. Facilitar a experiência dos usuários é prioridade para nós e a interface nativa do Outlook no Microsoft Dynamics CRM faz isto de uma forma extremamente simples, não ocorrendo um retrocesso no aprendizado do sistema”.

A Cerididian Corp., uma empresa de serviços em recursos humanos, transportes e mercado de varejo, também trocou uma solução do mercado pelo Microsoft Dynamics CRM para melhor atender suas expectativas de tecnologia e custos. O Microsoft Dynamics CRM permitiu ao Ceridian obter mais retorno sobre seus investimentos em tecnologia e reduzir custos. “O Microsoft Dynamics CRM 2011 forneceu à Ceridian um contact center que podemos implementar rapidamente e estender por diversas unidades de negócios, utilizando as ferramentas .NET e as habilidades dos nossos profissionais de TI”, destaca Mike Shea, chefe de operações da Ceridian.

Disponibilidade do Microsoft Dynamics CRM Online

O Microsoft Dynamics CRM Online está disponível, além do Brasil, nos mercados de países como Alemanha, Áustria, Austrália, Bélgica, Canadá, Colômbia, Costa Rica, Chile, Chipre, Dinamarca, Espanha, Estados Unidos, Finlândia, França, Grécia, Holanda, Hong Kong, Hungria, Índia, Irlanda, Israel, Itália, Japão, Luxemburgo, Malásia, México, Nova Zelândia, Noruega, Peru, Polônia, Portugal, Porto Rico, Reino Unido, República Checa, Romênia, Singapura, Suécia, Suíça e Trinidad e Tobago.

O Microsoft Dynamics é uma linha de produtos que se pretende ser de fácil utilização, integrado e adaptável às aplicações ERP e CRM que permitem aos líderes empresariais responderem rapidamente às mudanças do mercado e as novas tendências. As soluções do Microsoft Dynamics são entregues por meio de uma rede mundial de parceiros que prestam serviços especializados.

* Em breve artigos sobre a instalação do CRM

December 22, 2010

Text Template Transformation Toolkit e ASP.NET MVC

Microsoft Visual Studio inclui um mecanismo de geração de código conhecido como T4 (que é a abreviação de texto modelo transformação Toolkit). Você provavelmente já usou T4 modelos no Visual Studio sem mesmo saber que estavam trabalhando nos bastidores. Este artigo vou para lhe fornecer uma introdução básica ao T4 modelos e mostrar como o ASP.NET MVC usa essa tecnologia. Também mostrarei como personalizar modelos T4 para aprimorar seu trabalho diário com a estrutura MVC.

A idéia básica por trás do modelo de Kit de ferramentas é analisar um arquivo de entrada e transformá-lo em um arquivo de saída. O arquivo de entrada é um modelo — um arquivo de texto com uma extensão de arquivo .tt. O arquivo de saída também conterá o texto e o texto pode ser translation from VPE for Csharp código, Visual Basic código, Web Forms código, marcação ou qualquer outra coisa que você precisa gerar.

A maneira mais fácil de ver T4 em ação é criar um novo projeto no Visual Studio. Eu vai ser Gerando código translation from VPE for Csharp neste artigo, para que você possa usar qualquer tipo de projeto que compila código translation from VPE for Csharp. Quando o projeto é aberto, clique com o botão direito do mouse no projeto e selecione Add | New Item. Selecione o arquivo de texto da caixa de diálogo Add New Item (não há nenhum modelo de item dedicado T4 no Visual Studio 2008, mas haverá em 2010) e nomeie o arquivo Simple.tt (Certifique-se de que você usa a extensão .tt). Assim que o arquivo é carregado para o projeto você imediatamente verá um arquivo Simple.cs aparecem atrás Simple.tt na janela Solution Explorer (consulte 1 Figura ).

Figura 1 translation from VPE for Csharp arquivo atrás de um modelo T4

Simple.tt e Simple.cs será iniciado como arquivos vazios. Se você clique com o botão direito do mouse no arquivo Simple.tt e selecione Propriedades, você verá que o Visual Studio atribuído TextTemplatingFileGenerator como a ferramenta personalizada para o arquivo (consulte do Figura 2). Esse gerador é o mecanismo de T4 transformará o arquivo de modelo em um arquivo de código translation from VPE for Csharp.

Figura 2 Propriedades do modelo T4

Para tornar o modelo de fazer algo interessante, adicione o seguinte código:

<#@ template language="c#v3.5" #>
<#@ assembly name="System.Web.Mvc.DLL" #>
<#@ import namespace="System.Web.Mvc" #>

public class Test
{
<# for(int i = 0; i < 5; i++) { #>
  public int Prop<#= i #> { get; set; }
<# } #>
}

O código começa com algumas diretivas. As diretivas permitem que você especificar a linguagem de programação para o modelo e incluir namespaces e assemblies necessários pelo código no modelo. Quero enfatizar que estou falando de configurações necessárias para executar código no modelo e não o código no projeto propriamente dito. Você também pode usar uma diretiva para especificar a extensão do arquivo de saída. O padrão é translation from VPE for Csharp, mas como mencionei anteriormente, você pode gerar código de Visual Basic, XML, HTML ou qualquer artefato textual.

As diretivas que estou usando informar ao mecanismo do modelo para usar o compilador translation from VPE for Csharp que vem com o Microsoft .NET Framework 3.5. Ela também informa o mecanismo de modelo para fazer referência ao assembly de ASP.NET MVC e para trazer o namespace System.Web.Mvc para o escopo. O MVC assembly e namespace não são realmente exigidos pelo código simples do modelo, mas eu os colocar no modelo como exemplo.

Após as diretivas, o texto que você vê que não é entre < # e # > delimitadores é colocado textual no arquivo de saída. O texto entre < # e # > é translation from VPE for Csharp código. O mecanismo de modelo irá analisar o código e adicioná-lo a uma classe para execução (uma classe, por fim, derivada da classe TextTransformation no conjunto de módulos (assembly) Microsoft.VisualStudio.TextTemplating). Esse processo é semelhante ao processo de mecanismo do modo de exibição do ASP.NET onde o código e marcação em um arquivo .aspx são adicionados a uma classe, por fim, derivada do System.Web.UI.Page. Se você já foi escrevendo suas exibições do MVC usando o mecanismo de exibição de Web Forms, você se sentirá à vontade criando modelos. Em arquivos .aspx, você pode usar código translation from VPE for Csharp para gerar HTML. No meu arquivo .tt, estou usando código translation from VPE for Csharp para gerar código translation from VPE for Csharp.

O código que tenho em Simple.tt produzirá a seguinte saída translation from VPE for Csharp Simple.tt.cs:

public class Test
{
  public int Prop0 { get; set; }
  public int Prop1 { get; set; }
  public int Prop2 { get; set; }
  public int Prop3 { get; set; }
  public int Prop4 { get; set; }
}

Claro, a classe de teste é totalmente inútil e wholly desinteressantes, mas espero que ele lhe dá uma idéia das possibilidades existentes com modelos T4. Porque você estiver escrevendo um código translation from VPE for Csharp no modelo, você pode se conectar a bancos de dados, ler dados do sistema de arquivos, analisar XML ou usar qualquer classe do .NET para conectar-se e ler os metadados que existe em algum lugar no seu ambiente. Esses metadados, como um esquema de banco de dados ou os tipos de outro assembly, são informações que você pode usar para gerar classes. As classes se tornará parte do projeto atual, portanto, eles serão compilados no assembly atual e você pode usá-los em seu aplicativo.

Edição T4
Quando você está editando T4 modelos no Visual Studio, você não terá nenhuma ajuda dos serviços de linguagem no IDE, como o IntelliSense e realce de sintaxe. Há duas soluções para esse problema. Um é o editor Visual T4 disponibilizou Clarius Consulting (de visualt4.com ). Outra solução é o Editor T4 tangíveis da tangíveis Engineering (de t4 editor.tangible-engineering.com ).

Com um entendimento básico de como os modelos T4 funcionam, let’s Observe como o MVC framework usa modelos T4.

T4 no ASP.NET MVC

Você estava usando modelos T4 toda vez que você utilizou o Adicionar modo de exibição ou o controlador adicionar recursos em um projeto ASP.NET MVC. Esses modelos estão localizados na instalação do Visual Studio dentro da pasta de 2\CodeTemplates Common7\IDE\ItemTemplates\CSharp\Web\MVC. Também existem versões do Visual Basic do modelo, mas deixarei isso como um exercício para o leitor para deduzir o nome da pasta.

Os modelos em si fornecem uma excelente educação sobre o valor e os recursos do T4. Por exemplo, aqui está um trecho da List.tt na subpasta AddView da CodeTemplates:

if(!String.IsNullOrEmpty(mvcViewDataTypeGenericString)) {
  Dictionary<string, string> properties =
    new Dictionary<string, string>();
  FilterProperties(mvcHost.ViewDataType, properties);
#>
  <table>
    <tr>
      <th></th>
<#
  foreach(KeyValuePair<string, string> property in properties) {
#>
      <th>
        <#= property.Key #>
      </th>
<#
  }
#>

O trabalho de List.tt é produzir um arquivo .aspx que exibirá uma coleção de objetos do modelo em formato tabular. No modelo você pode ver a tabela, tr e th marcas que estão sendo gravadas. Para produzir o arquivo .aspx o modelo precisa de algumas informações contextuais, como o nome da página mestra deve usar e o tipo de modelo. O modelo pode recuperar essas informações de seu objeto de host. O objeto host fica entre um modelo e o mecanismo T4 e pode dar um modelo de acesso a recursos (como arquivos locais) e das configurações do ambiente. Normalmente, o host é o Visual Studio, mas a equipe de MVC criou um host personalizado do tipo MvcTextTemplateHost no conjunto de módulos (assembly) Microsoft.VisualStudio.Web.Extensions. É esse objeto de host personalizado que carrega consigo informações digitadas nas caixas de diálogo Adicionar controladora e adicionar modo de exibição, que são as coisas mais próximos que você encontrará a assistentes em um projeto do MVC.

List.TT irá executar um loop através da exibição Propriedades do objeto com rigidez de tipos de modelo e criar uma tabela com uma coluna para cada propriedade. O modelo usa a reflexão para descobrir as propriedades disponíveis do modelo em um método FilterProperties. FilterProperties é um método auxiliar posteriormente definido no arquivo de modelo. O modelo também configura os links para navegar até as ações de edição e detalhes e configura as diretivas apropriadas @ Page ou @ Control para .aspx, dependendo se você estiver criando um modo de exibição ou um modo de exibição parcial.

Quando terminar o modelo em execução, você terá um novo .aspx exiba com tudo o que é necessário para exibir uma coleção de objetos do modelo. Provavelmente você ir para o arquivo .aspx e realizar alguns ajustes para o modo de exibição consistente com a aparência dos modos de exibição no restante do seu aplicativo.

Se você achar que está sempre fazendo as mesmas alterações para esses modos de exibição gerados (ou o código de controlador gerado pelo Controller.tt), você pode economizar tempo, modificando os modelos em si. Por exemplo, você poderia modificar os modelos internos para adicionar atributos de classe para regras de estilo que você usar no seu projeto, ou talvez algo ainda mais drásticas. Tenha em mente que modificar os arquivos de modelo no diretório de instalação do Visual Studio irão alterar o código gerado em todos os projetos que você trabalha com em seu computador. Se você desejar alterar o código gerado para um único projeto, você pode fazer isso, muito.

Personalização de T4-projeto

Se você desejar versões personalizadas dos modelos de geração de código em uma base per project, sua primeira etapa é copiar a pasta CodeTemplates da instalação do Visual Studio e colá-lo na raiz do seu projeto ASP.NET MVC. Você Don precisa copiar todos os modelos em seu projeto, no entanto. Você pode copiar apenas os modelos que você deseja modificar. Há um total de seis modelos de geração de código MVC, um para adicionar um controlador (Controller.tt) e cinco para adicionando modos de exibição (List.tt Create.tt, Empty.tt Details.tt, Edit.tt,). Se existir um modelo no seu projeto, ele substituirá o modelo no diretório de instalação do Visual Studio.

Quando você adiciona um arquivo .tt a uma solução do Visual Studio, o IDE atribuirá automaticamente o arquivo .tt uma configuração de ferramenta personalizada de TextTemplatingFileGenerator. Você já viu esse comportamento se você criou o modelo Simple.tt discutido anteriormente. No entanto, isso não é a configuração correta para os modelos de T4 MVC. As ferramentas MVC para o Visual Studio irão chamar esses modelos em momentos apropriados e criar o objeto MvcTextTemplateHost especial durante o processamento do modelo. Assim, após copiar os modelos em seu projeto, a segunda etapa é abrir a janela de propriedades para cada arquivo de modelo e remover a configuração da ferramenta personalizada (deixe em branco configuração). Neste ponto, você estará pronto para personalizar seus modelos.

Propriedades MvcTextTemplateHost
Observe que nem todas as propriedades no objeto MvcTextTemplateHost estão disponíveis para cada contexto. Os modelos executar ao chamar Adicionar modo de exibição e Controller adicionar itens de menu de contexto. A propriedade Namespace está disponível para os dois essas operações e será definida como o valor apropriado. A propriedade de página mestre, no entanto, só é definida como um valor válido durante uma operação Adicionar modo de exibição e irá conter o valor inserido para o nome da página mestre na caixa de diálogo Adicionar modo de exibição pelo usuário.

Como exemplo, let’s que você não quiser que os controladores de uma ação de índice. Você preferir usar uma ação padrão denominada lista. Você pode abrir o modelo Controller.tt na pasta CodeTemplates\AddController e alterar a área adequada do código para a seguinte aparência:

public class <#= mvcHost.ControllerName #> : Controller
{
  // GET: /<#= mvcHost.ControllerRootName #>/

  public ActionResult List()
  {
    return View();
  }
...

Esta é uma alteração simples para fazer, mas ele pode salvar você e sua equipe um pouco de tempo durante a vida útil de um projeto grande.

Um passo adiante — T4MVC

No segundo semestre de 2009, David Ebbo da equipe do ASP.NET criado T4MVC, um modelo T4 projetado para gerar auxiliares com rigidez de tipos em um aplicativo ASP.NET MVC. Ebbo tem refinado o modelo ao longo do tempo e você agora pode baixá-la de aspnet.codeplex.com/wikipage?title=T4mvc.

O modelo T4MVC é um modelo T4 tradicional. Adicione T4MVC.tt e seu arquivo de configurações associadas (T4MVC.settings.t4) a seu projeto e ele usará a ferramenta personalizada TextTemplatingFileGenerator para gerar código translation from VPE for Csharp. T4MVC ajudará você a eliminar muitos dos literais da cadeia de caracteres magic do seu aplicativo MVC. Por exemplo, um dos trabalhos que fará o modelo é verificar as pastas de conteúdo e scripts em seu projeto e gerar classes com propriedades estáticas para representar cada script e parte do conteúdo.

O código gerado significa que você pode processar a exibição de parcial LogOnUserControl fornecida pelo projeto do MVC padrão com este código:

<% Html.RenderPartial(MVC.Shared.Views.LogOnUserControl); %>

Anteriormente você seria tiver usado um literal de cadeia de caracteres:

<% Html.RenderPartial("LogOnUserControl"); %>

Se alguém renomeia, move ou exclui o LogonUserControl, o código com rigidez de tipos produzirá um erro de compilação quando compila o modo de exibição. Juntamente com rigidez acesso a modos de exibição e modos de exibição parciais, o modelo T4MVC também oferece com rigidez de tipos de acesso a todos os arquivos dentro de suas pastas de conteúdo e scripts e com rigidez de tipos acesso a controladores e ações do controlador.

Você pode usar as classes geradas T4MVC durante a criação de links de ação, retornando resultados de modo de exibição e mesmo quando a tabela de roteamento para um aplicativo de criação. Observe que, quando você adiciona pela primeira vez T4MVC para seu projeto, você verá alguns avisos gerados na janela de lista de erros do IDE. Esses avisos são apenas T4MVC informando você sobre alguns altera está sendo aplicada ao seu código. A maioria dessas alterações são nada que altere o comportamento do seu aplicativo; os modelos T4MVC basta adicionar algumas palavras-chave parcial a definições de classes do controlador e também fará com que os métodos de ação não-virtuais virtual.

Mais fácil de manter

T4 é um tesouro maravilhoso dentro do Visual Studio mas ainda não falha. Este artigo fornece tudo o que você precisa para começar a usar modelos personalizados para seu projeto ASP.NET MVC. Felizmente, você pode encontrar alguns usos para modelos T4 outside of seu projeto de aplicativo da Web, muito. Você deve também testar modelos T4MVC em seu projeto, como eles tornam o seu código mais fácil de manter e refatorar. T4 tecnologia no futuro, é ainda melhor no Visual Studio 2010 com a adição de modelos de item dedicado e pre-compiled modelos.

October 26, 2010

Configurando um DNS Reverso no Windows 2k/2k3/2k8

Conceitos Básicos do DNS Reverso:

  • O DNS reverso resolve 200.176.3.142 para exemplo.hipotetico.com.br (um endereço IP para um nome de servidor).
  • O caminho de uma consulta típica de DNS reverso: Resolver de DNS ⇒ root servers ⇒ LACNIC (Orgão que distribui endereços IP na América Latina e Caribe) ⇒ registro.br (responsável pela distribuição de IPs no Brasil) ⇒ Provedor de acesso ou de meio físico ⇒ Servidores de DNS do usuário do IP.
  • Quem quer que proveja os seus endereços IP (normalmente o seu provedor) DEVE ou [1] configurar seus apontamentos de DNS reverso nos servidores deles, ou [2] “delegar a autoridade” dos seus apontamentos de DNS reverso para os seus servidores de DNS.
  • Apontamentos de DNS reverso são feitos com nomes que são o endereço IP invertido com um “.in-addr.arpa” adicionado no final – por exemplo, “142.3.176.200.in-addr.arpa”.
  • Apontamentos de DNS reverso são configurados com registros PTR (enquanto que no DNS direto usa-se registros A), feitos dessa forma: “142.3.176.200.in-addr.arpa.  PTR  exemplo.hipotetico.com.br.” (enquanto que no DNS diretos, seriam assim: “exemplo.hipotetico.com.br.  A  200.176.3.142″).
  • Todos os servidores na Internet devem ter um apontamento de DNS reverso (veja RFC 1912, seção 2.1).
  • Servidores de correio eletrônico sem DNS reverso terão dificuldades para entregar e-mails para alguns grandes provedores.

Configurando um DNS Reverso no Windows Server

Para iniciar o DNS, você deve entrar em Iniciar, Ferramentas Administrativas e DNS, conforme imagem abaixo:

No Gerenciador DNS, Clique em Zonas de Pesquisa Inversa, conforme imagem abaixo:

Clique com o Botão Direito em Zonas de Pesquisa Inversa (Ou no Menu Ações) e Clique em Nova Zona…, confome imagem abaixo:

Agora é aberto o Wizard para adicionar a Zona de DNS Reverso. 

Clique em Avançar para Continuar (conforme imagem abaixo)

Selecione o Tipo de Zona do DNS Reverso (Se for Primária = Primeira | Secundária = Uma cópia de uma zona já existente em outro servidor | Zona de stub = Uma cópia de uma zona de servidor de nomes (NS) ). Após a Seleção clique em Avançar para Continuar (Nesse exemplo usaremos a opção Zona primária)

Selecione o tipo de IP da Zona. (IPv4 ou IPv6) – e clique em Avançar para continuar (Nesse exemplo usaremos a Zona de Pesquisa Inversa IPv4)

Agora nesse ponto, você deve informar o Endereço IP (Em Identificação de rede), Lembre-se que você apenas vai poder informar os 3 primeiros conjuntos do IP. (Você também pode usar o Nome da Zona de Pesquisa inversa – Para Usuários Avançados). Após informar o seu IP (primeiros 3 conjuntos de números) clique em Avançar para continuar.

Conforme o exemplo abaixo:

Agora informe o nome do Arquivo da Zona que você acaba de adicionar (Recomendo que deixe a padrão do DNS Server, conforme imagem abaixo) e clique em Avançar para Continuar

Selecione “Não permitir atualizações dinâmicas” e clique em Avançar para continuar

Parabéns, a Zona foi adicionada com Sucesso. Clique em Concluir para Fechar a Janela de Wizard.

Agora você vai ver a Zona que você acaba de Adicionar no DNS, conforme a imagem abaixo:

Agora vamos adicionar os Endereços IPs e seus nomes, clicando em Ação e Novo ponteiro (PTR), conforme imagem abaixo:

Na Tela de “Novo Registro de Recursos”, informe em Endereço IP do Host (No caso o último bloco do IP), e em Nome do host você deve informar o nome correto, igual ao que você apontou o nome do host no DHCP

Conforme exemplo abaixo:

e clique em OK para Adicionar o Registro do Recurso.

Agora faça o mesmo processo de Adicionar o “Novo Ponteiro (PTR)” para cada IP que você deseje fazer o DNS reverso.

Depois de adicionar os PTR, Você pode testar em http://www.terra.com.br/postmaster , caso você fez todos os passos corretamente, será informado a seguinte mensagem:

October 25, 2010

URL Rewrite no IIS 7.0/7.5

Com o URL Rewrite é possivel interceptar qualquer tipo de requisição seja ela ASP, ASP.NET ou HTML, e reescrever a URL antes que ela seja processada pelo IIS. A configuração é feita de forma fácil e intuitiva, atendendo tanto usuários experientes quanto os mais iniciantes.

..

Instalação:

Para instalação do URL Rewrite você pode usar o Microsoft Web Platform Installer ( http://www.microsoft.com/web/downloads/platform.aspx ), ou fazer o download do pacote em (  http://download.microsoft.com/download/6/7/D/67D80164-7DD0-48AF-86E3-DE7A182D6815/rewrite_amd64_en-US.msi )

Uso do URL Rewrite

1) Entre no IIS e clique no URL Rewrite, conforme imagem abaixo:

No Recurso URL Rewrite, clique em “Add Rules(s)…”, conforme imagem abaixo:

Selecione o Tipo de Regra que deseja Criar.. (Em nosso Exemplo usamos o User-friendly URL)

Agora entre com os dados da URL Q você deseja fazer o URL Write, conforme exemplo abaixo:

Usando o exemplo acima, Ao acessar o endereco fernandomaritni.com/PAGINA vai ser aberto internamente a pagina do /motor.asp?p=PAGINA

Pronto….

October 24, 2010

Adicionando um site no IIS 7.5

Simples, Fácil e rápido…

1) Após a instalação, Clique em Iniciar / Ferramentas Administrativas / Gerenciador de Serviços de Informação da Internet (IIS), conforme a imagem abaixo:

 

2) No IIS, Clique em Sites. Você tem duas opções para adicionar um novo website. Conforme imagem abaixo:

a) Na Aba a Direita (Ações) Clique em Adicionar Site.

b) Clique com o Botão direito em Sites e clique em Adicionar Site…

3) Na Tela de “Adicionar Site”, informe:
Nome do site (Nome que você vai identificar-lo no IIS),
Caminho físico (Local físico aonde se encontra o website – Ex: C:\inetpub\site\)
Endereço IP (Endereço IP do IIS usado por esse Website – Normalmente usado “Todos os Não atribuídos”)
Tipo (Tipo de Protocolo – Ex. HTTP/HTTPS/etc..)
Porta (Porta do Website – Padrão 80)
Nome do host (Hostname do website, exemplo www.fernandomartini.com ),
conforme imagem (Exemplo) abaixo

4) Clique em OK para Terminar.

5) Pronto, seu site ja foi adicionado com sucesso ao IIS.

Se você desejar adicionar mais Hostnames nesse website. Clique em Ligações (que fica na barra de “Ações” à direita), conforme imagem abaixo.

A seguinte tela será exibida:

Na Tela de Ligações do Site, clique em Adicionar, selecione o tipo de protocolo, o endereço ip e a porta (padrão 80) entre com o nome do host que o IIS vai servir para esse site (Por exemplo fernandomartini.com). Clique em OK para Adicionar e Fechar na Tela de Ligações

Pronto. Boa Sorte.. Qualquer dúvida, fique a vontade

October 18, 2010

Criptografe dados com um certificado no Sql Server

Os Certificados e as chaves assimétricas são baseadas no padrão X.509 e são basicamente equivalentes em sua aplicação. as chaves assimétricas são geradas por um servidor de chaves dentro de uma empresa e não se pode fazer seu backup nem elas podem ser movidas de um sistema para outro. Os certificados aceitam backup e podem ser restaurados a partir de um arquivo, permitindo que você mova bancos de dado criptografados, ao passo que é capaz de recriar o certificado para acessar seus dados.

1. Execute o código a seguir para criar uma tabela de teste, dois usuários e permissões:
CREATE TABLE dbo.CertificateEncryption
(ID INT IDENTITY(1,1),
SalesRep VARCHAR(30) NOT NULL,
SalesLead VARBINARY(500) NOT NULL)
GO
CREATE USER SalesRep1 WITHOUT LOGIN
GO
CREATE USER SalesRep2 WITHOUT LOGIN
GO
GRANT SELECT, INSERT ON dbo.CertificateEncryption TO SalesRep1
GRANT SELECT, INSERT ON dbo.CertificateEncryption TO SalesRep2
GO

2. Crie um certificado para cada usuário, como segue:
CREATE CERTIFICATE SalesRep1Cert AUTHORIZATION SalesRep1
WITH SUBJECT = ‘SalesRep 1 certificate’
GO
CREATE CERTIFICATE SalesRep2Cert AUTHORIZATION SalesRep2
WITH SUBJECT = ‘SalesRep 2 certificate’
GO
SELECT * FROM sys.certificates
GO

3. Insira dados para cada usuário, como segue:
EXECUTE AS USER=’SalesRep1′
GO
INSERT INTO dbo.CertificateEncryption
(SalesRep, SalesLead)
VALUES(‘SalesRep1′,EncryptByCert(Cert_ID(‘SalesRep1Cert’), ‘Fabrikam’))
REVERT
GO
EXECUTE AS USER=’SalesRep2′
GO
INSERT INTO dbo.CertificateEncryption
(SalesRep, SalesLead)
VALUES(‘SalesRep2′,EncryptByCert(Cert_ID(‘SalesRep2Cert’), ‘Contoso’))
REVERT
GO

4. Examine o conteúdo da tabela, assim como de cada usuário:
SELECT ID, SalesRep, SalesLead
FROM dbo.CertificateEncryption
GO
EXECUTE AS USER=’SalesRep1′
GO
SELECT ID, SalesRep, SalesLead,
CAST(DecryptByCert(Cert_Id(‘SalesRep1Cert’), SalesLead)
AS VARCHAR(MAX))
FROM dbo.CertificateEncryption
REVERT
GO
EXECUTE AS USER=’SalesRep2′
GO
SELECT ID, SalesRep, SalesLead,
CAST(DecryptByCert(Cert_Id(‘SalesRep2Cert’), SalesLead)
AS VARCHAR(MAX))
FROM dbo.CertificateEncryption
REVERT
GO

October 5, 2010

Importando um arquivo Excel em PHPImporting an Excel file in PHPImportando um arquivo Excel em PHPИмпорт файлов Excel в PHP

$arq = $_FILES["arq"]; //
$arq_nome = $arq["name"]; //
$arqv_temporario = $_FILES['arq']["tmp_name"];
if(move_uploaded_file($arqv_temporario, "upload/". $arq_nome)) {}

// Abre o Banco
$abraArq = fopen("upload/". $arq_nome, "r");
if (!$abraArq){
$msg = "Arquivo não encontrado";
}else{
while ($valores = fgets($abraArq)) {
$linha = explode(",",$valores);
// $linha[X]
$n_codigo = trim(addslashes($linha[0]));
$n_marca = trim(addslashes($linha[1]));
$n_familia = trim(addslashes($linha[2]));
$n_designacao = trim(addslashes($linha[3]));
// Insert no Banco de Dados
}
$msg = "O arquivo ". $arq_nome ." foi importado com sucesso!";
}
fclose($abraArq);
echo $msg;

$arq = $_FILES["arq"]; //
$arq_nome = $arq["name"]; //

$arqv_temporario = $_FILES['arq']["tmp_name"];
if(move_uploaded_file($arqv_temporario, "upload/". $arq_nome)) {}
// Here you can open the database
$abraArq = fopen("upload/". $arq_nome, "r");
if (!$abraArq){
$msg = "File not found";
}else{
while ($valores = fgets($abraArq)) {
$linha = explode(",",$valores);
// $linha[X]
$n_codigo = trim(addslashes($linha[0]));
$n_marca = trim(addslashes($linha[1]));
$n_familia = trim(addslashes($linha[2]));
$n_designacao = trim(addslashes($linha[3]));
// Here you insert in database
}
$msg = "The filename ". $arq_nome ." is imported!";
}
fclose($abraArq);
echo $msg;


$arq = $_FILES["arq"]; // pegar o nome da foto
$arq_nome = $arq["name"]; // pegar o nome da foto

$arqv_temporario = $_FILES['arq']["tmp_name"];
if(move_uploaded_file($arqv_temporario, "upload/". $arq_nome)) {}

// Abre o Banco

$abraArq = fopen("upload/". $arq_nome, "r");

if (!$abraArq){
$msg = "Arquivo não encontrado";
}else{
while ($valores = fgets($abraArq)) {
$linha = explode(",",$valores);
// $linha[X]
$n_codigo = trim(addslashes($linha[0]));
$n_marca = trim(addslashes($linha[1]));
$n_familia = trim(addslashes($linha[2]));
$n_designacao = trim(addslashes($linha[3]));

// Insert no Banco de Dados

}
$msg = "O arquivo ". $arq_nome ." foi importado com sucesso!";
}
fclose($abraArq);

echo $msg;

$arq = $_FILES["arq"]; //
$arq_nome = $arq["name"]; //

$arqv_temporario = $_FILES['arq']["tmp_name"];
if(move_uploaded_file($arqv_temporario, "upload/". $arq_nome)) {}
// Здесь, открытый банком
$abraArq = fopen("upload/". $arq_nome, "r");
if (!$abraArq){
$msg = "Файл не найден";
}else{
while ($valores = fgets($abraArq)) {
$linha = explode(",",$valores);
// $linha[X]
$n_codigo = trim(addslashes($linha[0]));
$n_marca = trim(addslashes($linha[1]));
$n_familia = trim(addslashes($linha[2]));
$n_designacao = trim(addslashes($linha[3]));
// Здесь вы можете положить DataBase вставки
}
$msg = "Файл ". $arq_nome ." импортирован с успехом!";
}
fclose($abraArq);
echo $msg;

Posted in PHP
September 22, 2010

Me emocionei com a Caganeira dela…

Não paro de ver esse vídeo… ñ paro de rir…

Quando foi de madrugada, eu me levantei com uma caganeira….”

September 13, 2010

Clube Social

Clube Social

PERSONALIDADE ANTISSOCIAL

A Característica principal dos portadores é a total falta de consideração pelos direitos dos outros e pelas regras sociais básicas. Não sentem ansiedade nem culpa

SOCIOPATA

O indivíduo sociopata não tem consciência nenhuma – se tem, ele a neutraliza. Suas necessidades são prioridade, e ele se aproveita dos outros com a ideia distorcida de que está fazendo o bem.

PSICOPATA

Além das características dos distúrbios anteriores, o psicopata combina comportamentos egocêntricos, impulsivos e emoções rasas. A Falta de empatia, culpa e remorso são complementadas por uma personalidade manipulativa e mentiras patológicas. Têm desejo por poder e controle, usando charme intimidação, violência e o que mais precisar para obtê-los