Archive for the ‘iis’ category

Chaves no windows 2012 para configuração de SSL

maio 21st, 2015

A configuração de ssl cipher, o ordenamento delas, ficam na chave

HKLM\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002

Já a configuração para habilitar ou desabilitar determinadas cipher, hashes, keys exchange e protocolos para SSL ficam na chave

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Esse site me ajudou a configurar de uma maneira boa, além de modificações de segurança até a data atual.
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

É possível testar o teu site no link abaixo:
https://www.ssllabs.com/ssltest/analyze.html

 

cURL e OpenSSL não funcionam no PHP com IIS

março 25th, 2015

Já configurou o caminho do php no path do sistema, já descomentou as linhas
extension=php_curl.dll
extension=php_openssl.dll
no php.ini, executou php -m no prompt e o curl e openssl foram carregador, mas no php.ini do teu site ele não carrega? Passei por isso, a solução que achei foi copiar os arquivos ssleay32.dll e libeay32.dll do diretório do php para o %windir%\system32.

O link que me deu luzes para resolver o caso foi esse: http://stackoverflow.com/questions/1343514/how-to-get-curl-to-work-with-php-on-windows-wamp

No meu caso não cheguei a fazer a solução proposta, só fui testando os procedimentos do cara que fez o questionamento, e quando fiz isso funcionou.

Alterar level trust somente para um site

janeiro 29th, 2015

Caso seu servidor trabalhe em partial trust e com allowOverride = false, é possível configurar o modo full trust para um único site, para isso é necessário entrar em contato com o seu host e solicitar que insira as linhas abaixo, antes da tag </configuration>, no web.config do asp.net.

    <location path="%VHOST%">
        <system.web>
            <trust level="Full" />
        </system.web>
    </location>

Onde %VHOST% é o nome cadastrado para o seu site no IIS do servidor. Com essa configuração o servidor continua trabalhando em partial trust com exceção do site informado em %VHOST% 🙂
Algumas empresas de hospedagem não aceitam essa configuração, mas não custa nada dar uma chorada 😛

Conversão de .doc ou .docx para .pdf no asp.net com Microsoft.Office.Interop.Word

setembro 11th, 2014

Conseguiu utilizar o Microsoft.Office.Interop.Word? Que bom, não conseguiu? Então desista, não perca horas e horas tentando fazer funcionar dando permissões diferentes na config DCOM para o Documento do microsoft office word, pois a própria microsoft não recomenda o componente para a utilização de sistemas em asp ou asp.net, conforme o link abaixo:

http://support.microsoft.com/kb/257757

A Microsoft atualmente não recomenda e não oferece suporte, aplicativos de automação do Microsoft Office de qualquer aplicativo cliente autônomo, não interativo ou componente (incluindo ASP, ASP.NET, DCOM e serviços NT), como o Office pode apresentar comportamento instável e/ou bloqueio quando o Office é executado nesse ambiente.”
» Read more: Conversão de .doc ou .docx para .pdf no asp.net com Microsoft.Office.Interop.Word

Exemplo de sessão no ASP.NET

agosto 21st, 2014

Crie os respectivos arquivos index.aspx.cs e index.aspx
Abaixo o index.aspx.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
 
    protected void btnCreateSession_Click(object sender, EventArgs e)
    {
        Session["Username"] = txtUserName.Text.Trim();
    }
 
    protected void btnRetrieveSession_Click(object sender, EventArgs e)
    {
        DisplaySessionValue();
    }
 
    protected void btnRemoveSession_Click(object sender, EventArgs e)
    {
        Session.Remove("Username");
 
        DisplaySessionValue();
    }
 
    protected void btnRemoveAll_Click(object sender, EventArgs e)
    {
        Session.RemoveAll();
 
        DisplaySessionValue();
    }
 
    private void DisplaySessionValue()
    {
        if (Session["Username"] != null)
            lblSessionValue.Text = Convert.ToString(Session["Username"]);
        else
            lblSessionValue.Text = "No Value has been stored in session";
    }
}

Abaixo o index.aspx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="index" %>
<!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>ASP.net How to use session</title>
    <style type="text/css">
     .txtInput
     {
         width:250px; height:28px; paddiang:3px;
     }   
     div
     {
         margin:5px;
     }
     .validator
     {
         color:Red;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
         <fieldset>
            <h3>How to use Session</h3>
            <div>
            Userame:<br />
            <asp:TextBox ID="txtUserName" runat="server" MaxLength="50"></asp:TextBox>
            <asp:RequiredFieldValidator ID="rfvFirstName" runat="server" Display="Dynamic"
             CssClass="validator"  ControlToValidate="txtUserName"
             ErrorMessage="Username is required"></asp:RequiredFieldValidator>
            </div>
            <div>
                <asp:Button ID="btnCreateSession" runat="server" 
                    Text="Click to Create Session" onclick="btnCreateSession_Click" />
                &nbsp;
                <asp:Button ID="btnRetrieveSession" runat="server" CausesValidation="false" 
                    Text="Click to Retrieve Session Value" onclick="btnRetrieveSession_Click" />
                &nbsp;
                <asp:Button ID="btnRemoveSession" runat="server" CausesValidation="false" 
                    Text="Click to Remove Session Value" onclick="btnRemoveSession_Click" />
                &nbsp;
                <asp:Button ID="btnRemoveAll" runat="server" CausesValidation="false" 
                    Text="Click to Remove All Sessions" onclick="btnRemoveAll_Click" />
            </div>
            <p>
                Note: 1st create a session by providing user name in text field, then you can retrieve the value from session.
            </p>
            <div>
                Value stored in Session: 
                <strong><asp:Label ID="lblSessionValue" runat="server"></asp:Label></strong>
            </div>
        </fieldset>
    </div>
    </form>
</body>
</html>

Como alterar o temp do appPools

abril 9th, 2014
1
 reg add HKLM\System\CurrentControlSet\Services\WAS\Parameters /v ConfigIsolationPath /t REG_SZ /d E:\inetpub\temp\appPools

Instalando RIA Services

fevereiro 17th, 2014

Execute após ter feito o download

1
msiexec /i RIAServices.msi SERVER=true

Fonte: http://blogs.msdn.com/b/deepm/archive/2010/03/15/are-you-a-hoster-and-want-to-support-ria-services.aspx

call to undefined function pg_connect()

dezembro 11th, 2012

Tive problemas em carregar as funções do postgre no php em windows com iis, as extensões estavam configuradas corretamente no php.ini e mesmo assim as funções do postgre não eram carregadas no iis, somente quando eu testava com o php -m no prompt. Depois de um bom tempo descobri que há o arquivo ssleay32.dll no diretório bin do psqlODBC, fiz um teste copiando ele para o system32 do windows, as funções foram carregadas

Mudando configuração do PHP no windows para um ambiente

novembro 8th, 2012

O PHP no windows tem uma configuração global para todos os sites de um servidor, porém, a partir da versão 5 é possível alterar um valor para somente um site, deixando ele com uma configuração diferente da global, caso a configuração global esteja com o register_globals off, por exemplo, e um site precise da configuração como on, é possível fazer o seguinte

No registro do windows vá em HKLM\SOTFWARE\PHP, crie uma nova chave chamada Per Directory Values. Então abaixo da chave HKLM\SOTFWARE\PHP\Per Directory Values, será onde haverão as configurações modificadas, para que ela funcione é necessário criar as chaves correspondentes ao diretório onde roda o ambiente, por exemplo, se o site está em c:\inetpub\wwwroot, será necessário criar mais 3 chaves, ficando dessa forma HKLM\SOTFWARE\PHP\Per Directory Values\c\inetpub\wwwroot, e dentro dessa chave você irá criar registros do tipo “valor de sequência expensível” com o nome da diretiva do php que você quer alterar, no nosso exempo é a register_globals, então criaremos um “valor de sequência expensível” com o nome de register_globals com o valor On. Era isso

Créditos: http://www.republicavirtual.com.br/blog/
Fonte: http://php.net/manual/en/configuration.changes.php

Exportando chave de uma solicitação de SSL no windows

junho 22nd, 2012

Para pegar a chave privada(private key) de uma solicitação de ssl no windows,  exporte ela no gerenciador de ssl em certificados > solicitações de registro de certificado > certificados, o comando é o seguinte

openssl pkcs12 -in REQUEST.pfx -out PRIVATEKEY -nodes -nocerts

o request.pfx, é o arquivo exportado com a chave da solicitação do ssl, o privatekey.key, é o nome do arquivo de saída da chave

Tendo a chave, é possível fazer o certificado com o openssl, conforme visto nesse post