Está precisando melhorar o tempo de resposta do squid no pfsense?
Achei a solução aqui
Abrasss!!!!
Fala meu povo!! Criei uma lib em C# para manipular as opções de internet do Windows. É possível modificar as zonas de segurança ou criar um nível personalizado. É bem útil para utilizar em conjunto com o componente WebBrowser (System.Windows.Forms.WebBrowser).
Basicamente a classe modifica as chaves do registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\[0-4], onde [0-4] é zona que deseja modificar.
Seguindo a regra acima, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3 representa as opções da zona de internet. Cada valor DWORD dentro dessa chave, representa um item das opções de internet.
Usar a lib é muito fácil, basta fazer a chamada ao método estático que representa a função que você deseja modificar e passar a zona e o novo valor que será atribuído.
InternetOptions.SetSecurityLevel(InternetOptions.INTERNET, InternetOptions.MEDIUM_LOW_LEVEL);
O exemplo acima altera o nível de segurança da zona de internet para médio-baixo.
Como a maioria das opções requer que o Internet Explorer seja reiniciado, é uma boa prática chamar o método antes de renderizar o componente WebBrowser (se esse for o seu foco). faça as chamadas na classe Program, antes de inicializar o Main Form.
O projeto encontra-se no source forge (http://sourceforge.net/projects/ieoptlib/) e é GPL.
Usei como referência um artigo da Microsoft (http://support.microsoft.com/kb/182569/pt-br) que explica muito bem como funciona a gestão das opções de internet.
Espero ter ajudado
Abrassss
Salve, salve!! Depois de um intervalo sem postar nada, deixo aqui uma dica rápida para liberar conexões remotas no SQL Server 2008. Crie um arquivo bat com o conteúdo:
@echo ========= SQL Server Ports =================== @echo Enabling SQLServer default instance port 1433 netsh firewall set portopening TCP 1433 "SQLServer" @echo Enabling Dedicated Admin Connection port 1434 netsh firewall set portopening TCP 1434 "SQL Admin Connection" @echo Enabling conventional SQL Server Service Broker port 4022 netsh firewall set portopening TCP 4022 "SQL Service Broker" @echo Enabling Transact-SQL Debugger/RPC port 135 netsh firewall set portopening TCP 135 "SQL Debugger/RPC" @echo ========= Analysis Services Ports ============== @echo Enabling SSAS Default Instance port 2383 netsh firewall set portopening TCP 2383 "Analysis Services" @echo Enabling SQL Server Browser Service port 2382 netsh firewall set portopening TCP 2382 "SQL Browser" @echo ========= Misc Applications ============== @echo Enabling HTTP port 80 netsh firewall set portopening TCP 80 "HTTP" @echo Enabling SSL port 443 netsh firewall set portopening TCP 443 "SSL" @echo Enabling port for SQL Server Browser Service's 'Browse' Button netsh firewall set portopening UDP 1434 "SQL Browser" @echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK) netsh firewall set multicastbroadcastresponse ENABLE
Execute o bat e seja feliz! Abraços
Editado
Tinha esquecido de colocar o link de onde vem o script original: http://support.microsoft.com/kb/968872
SQL injection é uma técnica de introduzir (injetar) instruções SQL em entradas de usuário – entenda entradas de usuário como qualquer variável que possa ser manipulada pelo mesmo como variáveis POST e GET.
Como funciona na prática
$query = " SELECT * FROM USUARIOS WHERE login = "; $query.= " '{$_POST['login']}' AND senha = '{$_POST['senha']}' "; $res = mysql_query($query); if( mysql_num_rows($res) ) { echo "Login efetuado com sucesso!"; }else{ echo "Login e/ou senha incorreto(s)"; }
No código acima, caso o usuário informa no campo login a entrada: blablabla’ or 0=0 — e qualquer valor no campo senha o resultado da query será:
SELECT * FROM USUARIOS WHERE login = ‘blablabla’ or 0=0 –‘ AND senha = ‘senhainvalida’;
A mágica está no trecho ‘ or 0=0 — que faz com que seja listado todo conteúdo da tabela USUARIOS já que a consulta busca os usuários cujo o login seja ‘blablabla’ ou que zero seja igual a zero. Zero sempre será igual a zero e assim todo conteúdo é retornado. Mas e a senha? A senha é ignorada já que após a comparação é adicionado o caracter de comentário e tudo a partir dali é ignorado :).
Outro problema nesse código é a forma como o usuário é válidado.
if( mysql_num_rows($res) ) { echo "Login efetuado com sucesso!"; }else{ echo "Login e/ou senha incorreto(s)"; }
A instrução checa apenas se alguma linha foi retornada na consulta. Como vimos antes, todo conteúdo da tabela USUARIOS é retornado e o primeiro usuário retornado na consulta é que será o felizardo a contemplar o invasor com seus dados.
Proteger-se com mysql_real_scape_string() e addslashes()
Essa é a forma mais básica e simples de contornar o problema. Basta chamar uma das duas funções para “escapar” a entrada do usuário.
$_POST['login'] = addslashes($_POST['login']); $_POST['senha'] = addslashes($_POST['senha']); $query = " SELECT * FROM USUARIOS WHERE login = '{$_POST['login']}'"; $query.= " AND senha = '{$_POST['senha']}' ";
Ou
$_POST['login'] = mysql_real_escape_string($_POST['login']); $_POST['senha'] = mysql_real_escape_string($_POST['senha']); $query = " SELECT * FROM USUARIOS WHERE login = '{$_POST['login']}'"; $query.= " AND senha = '{$_POST['senha']}' ";
As funções irão adicionar um slash (“\”) na aspa simples.
SELECT * FROM USUARIOS WHERE login = ‘blablabla\’ or 0=0 –‘ AND senha = ‘senhainvalida’;
Todo conteúdo entre aspa simples será interpretado como esperado, como um login de usuário.
Se magic_quotes_gpc estiver ativo no PHP (que é configuração padrão) o escape de cookies, post e get é feito automáticamente.
Usando Prepared Statement
Prepared statement automaticamente faz o escape nos valores de entrada e ajustam corretamente o tipo de dado.
$conexao = new mysqli('localhost','usuario','senha','banco'); $stm = $conexao->prepare("SELECT * FROM USUARIOS WHERE login = ? AND senha = ?"); $stm->bind_param("ss", $_POST['login'], $_POST['senha']); $stm->execute(); if( $stm->affected_rows ){ echo "Login efetuado com sucesso!"; }else{ echo "Login e/ou senha incorreto(s)"; } $stm->close();
Boas práticas
Evite o código abaixo:
if( $stm->affected_rows ) { echo "Usuário autenticado com sucesso!"; }
Use a forma a seguir:
$conexao = new mysqli('localhost','usuario','senha','banco'); $stm = $conexao->prepare("SELECT senha FROM USUARIOS WHERE login = ?"); $stm->bind_param("s", $_POST['login']); $stm->execute(); $senha = ""; $stm->bind_result($senha); if( $stm->fetch() ){ if( $senha == crypt($_POST['senha'],"td") ){ echo "Usuário autenticado com sucesso!"; exit(); } } echo "Usuário e/ou senha inválidos"; $stm->close();
Até o próximo post