terça-feira, 22 de julho de 2014

Mysql - Tabela para armazenar imagens e grandes textos

, , , , , , , , 0




Bueno, se você esta montando algum sistema de notícias, que o mesmo vai ter imagens, e muito texto, e não deseja hospedar as imagens, então suba todo no banco. 

Para o editor estou utilizando o http://hackerwins.github.io/summernote/ junto do http://getbootstrap.com/

Então lembre-se que a coluna que vai armazenar o conteúdo, deve ter estes tipos, avalie o tamanho que podera ter e utilize a de acordo.

TINYBLOB, TINYTEXT                                 (255 Bytes) 
    BLOB, TEXT                                                    (64 Kilobytes) 
       MEDIUMBLOB, MEDIUMTEXT                 (16 Megabytes) 
  LONGBLOB, LONGTEXT                              (4 Gigabytes)

Forte quebra costelas,
Marcos Carraro.

quarta-feira, 18 de junho de 2014

Segmentando a rede Visitantes da rede principal

, , , , , , , , , , , , , , , 0




Segmentando a rede visitantes da rede principal.
Equipamentos.
Switch HP
Access Point Ubiquiti UNIFI ULR

Vlan
Vlan da visitantes 220
Configurações na Switch
No switch vamos configurar a porta onde este conectado o AP para usar a porta como tagged (trunk) com as vlans:  1 (Vlan default da rede), 220 (Vlan para a rede visitantes).
Também não podemos esquecer de configurar a porta onde esta conectado o servidor de DHCP e o Roteador para que eles possam enxergar esta rede, distribuir os IPs e fazer os roteamentos.

1 – Criando a VLAN
2 – Configurando a porta onde esta conectado o AP, selecione a VLAN desejada e coloque como “tagged” em outras palavras é “trunk”, as portas que participam da vlan 220 ficaram em verde, caso alguma porta fosse dedicada a esta VLAN ficaria em AZUL.
Feito esta alterações, clique em “apply” e depois no menu da esquerda Device->Configuration
Na aba “Save” clique no botão “Save Currente Settings”, pronto estamos com a switch configurada.
Vamos ao próximo passo configurar a interface com a VLAN no firewall.
Configurando Interface no Servidor
O arquivo de configuração deve ser cirado em  /etc/sysconfig/network-scripts/ (Familia RedHatLike), o nome fica
ifcfg-(Placa de rede com o cabo conectado na switch).(ID da vlan)
Exemplo: ifcfg-eth1.220
# cat /etc/sysconfig/network-scripts/ifcfg-eth1.220
VLAN=yes
DEVICE=eth1.220
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.10.1
NETMASK=255.255.255.0


Configurando DHCPD
 Primeiro, deve-se indicar quais interfaces estarão distribuindo os IPS, para isso altere o arquivo /etc/sysconfig/dhcpd.
# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth1 eth1.220

Arquivo dhcpd.conf
# cat /etc/dhcpd.conf
ddns-update-style none;
default-lease-time 259200;
max-lease-time 518400;
authoritative;
log-facility local7;

# REDE ADM
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
        option routers                  192.168.1.254;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      192.168.1.253;
        option netbios-name-servers     192.168.1.253;
        option ntp-servers              192.168.1.253;
        option domain-name              "rede.interna";

        range 192.168.1.10 192.168.1.240;
        option broadcast-address 192.168.1.255;

ddns-update-style none;
default-lease-time 259200;
max-lease-time 518400;
authoritative;
log-facility local7;

#--------------------------------------------------------
# ips fixados
  host coletor1 {
hardware ethernet 00:23:68:E4:7F:78;
fixed-address 192.168.1.150;
   }
}
# REDE VISITANTES
subnet 192.168.10.0 netmask 255.255.255.0 {
# --- default gateway
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      192.168.10.1;
        option domain-name              "rede.interna";

        range 192.168.10.10 192.168.10.90;
        option broadcast-address 192.168.10.255;
}

Configurando APs
Para isso tem que estar rodando o próprio programa da Ubiquiti. Então acesso o seu IP no navegador na porta 8443.
Vá em Wireless networks, supondo que você já tenha uma rede criada vamos configurar a VLAN.

Feito isso clique em “apply” e esta finalizado.




Forte Abraço
Marcos Carraro















segunda-feira, 28 de abril de 2014

C/C++ Função validar IP faz parte da Rede/Mascara

, , , 0




Buenas,

Segue uma pequena função em C/C++ que valida se o IP x esta na rede Y com a mascara Z.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

//---------------------------------------------------------------------
long ip2long(const char *ip,int mascara, const char *rede){
    int ip_host_long,ip_rede_long,maximo,retorno;

    // Converte o IP do HOST no modo long - clong
    ip_host_long = htonl(inet_addr(ip));
    // Converte o IP da REDE no modo long - min
    ip_rede_long = htonl(inet_addr(rede));

    // Definindo o maximo
    maximo = (ip_rede_long | ((1 << (32 - mascara)) -1));

// Validando
    if(ip_host_long > ip_rede_long && ip_host_long < maximo){
        // Faz parte da rede e da mascara
        retorno = 1;
    } else {
        // Nao faz parte da rede e da mascara
        retorno = 0;
    }

    return retorno;
}


//---------------------------------------------------------------------

int main()
{
    const char *ip;
    int mascara;
    const char *rede;

    mascara = 24;
    rede = "192.168.1.0";
    ip = "192.168.2.3";

    long ip_longo = ip2long(ip,mascara,rede);


    printf("%u\n", ip_longo);


    return 0;
}


Forte abraço
Marcos Carraro

quarta-feira, 16 de abril de 2014

Centos 6 x64 + php 5.3 + bcompiler Com exemplo de arquivo php

, , , 0




Buenas,

Vamos botar para quebrar com o Centos minimal 6 atualizado com o php 5.3 (http://www.php.net/manual/pt_BR/book.bcompiler.php) e também vamos compilar o módulo bcompiler (http://pecl.php.net/package/bcompiler) para criar arquivos binários do php.

Instalação

Entrar no diretório
# cd /usr/src/

Baixar o pacote mais atual
# wget http://pecl.php.net/get/bcompiler

Descompactar o arquivo
# tar -xvsf bcompiler

# cd bcompiler-1.0.2/

PHPIZE Prepara o ambiente para a compilação (http://php.net/manual/pt_BR/install.pecl.phpize.php)
# phpize

Procedimentos comuns para a compilação
# ./configure
# make

A propria extensão manda fazer um teste antes de compilar verdadeiramente
# make test
# make install

Feito isso e não teve nenhum erro show de bola terminamos a compilação e a instalação.

Ao terminar a compilação ele retorna a mensagem de concluído, e também o diretório onde foi gravado o arquivo no meu caso "/usr/lib64/php/modules/"

Vamos agora para a ativação da extensão no php.

# cd /etc/php.d/

# vim bcompiler.ini

Cole o seguinte conteudo

; Ativando a extensao do bcompiler
extension=bcompiler.so


Reiniciando o serviço httpd.

# service httpd restart


Exemplos

No meu caso vou estar utilizando os arquivos compilados pelo php para a linha de comando (http://php.net/manual/pt_BR/features.commandline.php), para obter mais desempenho.



<?php

// $fh é o arquivo de destino, onde vai ser gravado a compialação
// repare na extensao do arquivo não é mais php e sim phb
$fh = fopen("arq_src.phb", "w");
bcompiler_write_header($fh);
// $fh é o arquivo de origem onde tem o codigo php cru
bcompiler_write_file($fh, "arq_src.php");
bcompiler_write_footer($fh);
fclose($fh);

?>




sexta-feira, 11 de abril de 2014

Criando Fluxo em ASCII

, , , 0




Buenas,

Ta aqui uma baita ferramente que fazia falta, criar fluxo em modo texto para usar nos script.

http://asciiflow.com/

A ferramente é baseada na web e é muito fácil de usar, com isso monta-se os fluxos e depois cola no script indicando o que ele deve fazer.

Forte Abraços
Marcos Carraro

sexta-feira, 4 de abril de 2014

Linux Erro Disco - DRDY ERR UNC e ou {DRDY err}

, , 0




Buenas,

Situação, um servidor com 6 discos de 1,5tb, do nada da um crash (Os discos estão em RAID para ter mais desempenho).

Ao ligar, imagina o retorno....
  {DRDY err} do sata1....

Um simples fsck não tava resolvendo meu problema, até que veio os velhos tempos do slackware, o dino deixou algumas coisas legais...

Então, nada melhor que rodar o e2fsck

# e2fsck -f -c -v -y /dev/md0

No meu caso o /dev/md0 é o raid, mas pode usar o seu disco /dev/sda1....

Após 19Horas, o servidor voltou a vida a todo vapor.

Boa Sorte se não precisarem ocupar o comando, se tiverem que utilizar tomara que de retorno.

Forte quebra costelas,
Marcos Carraro.

quinta-feira, 3 de abril de 2014

NMAP vs CONFICKER

, , , 0




É velho, mas ainda existe, e por causa dele, fiquei numa blacklist.

Solução.

#sudo nmap -sC --script=smb-check-vulns --script-args=safe=1 -p445  -d -PN -n -T4  --min-hostgroup 256 --min-parallelism 64  -oA conficker_scan 192.168.1.0-254 > conficker

Na máquina atualizar o XP para o SP3, aplicar os FIX, e também http://brazil.kaspersky.com/recursos/combater-conficker 

O legal do NMAP é que o retorno dele é fácil detectar alguma máquina infectada.

Nmap scan report for 192.168.1.110
Host is up, received arp-response (0.0097s latency).
Scanned at 2014-04-03 16:32:49 BRT for 2s
PORT    STATE SERVICE      REASON
445/tcp open  microsoft-ds syn-ack
MAC Address: 00:1D:1A:03:6E:F8 (OvisLink S.A.)

Host script results:
| smb-check-vulns:
|   MS08-067: CHECK DISABLED (remove 'safe=1' argument to run)
|   Conficker: Likely INFECTED (by Conficker.C or lower)
|   regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)
|   SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)
|   MS06-025: CHECK DISABLED (remove 'safe=1' argument to run)
|_  MS07-029: CHECK DISABLED (remove 'safe=1' argument to run)
Final times for host: srtt: 9730 rttvar: 15146  to: 100000


Marcos Carraro