Adicionem o novo domínio do blog aos seus favoritos! www.crashcomputer.com.br

   quinta-feira, 28 de agosto de 2008

O Bug que não é bug… É feature!



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Ontem logo apos fazer o post ai abaixo, fui atrás de algumas explicações sobre o $header da função mail() e acabei descobrindo algo que até então eu não sabia: SQL Injection

Trata-se de uma falha de segurança que permite injetar código malicioso para fins nada amigáveis, por exemplo na função mail().

Nisso andando pra lá e pra cá no Google eu acabo por cair em uma pagina no phpwiki que explica formas de se proteger do SQL Injection e uma delas (até um tanto controversa) é o uso do magic quotes.

Pra variar a página estava fora do ar (ou é xilique de dns) mas nada que recorrendo ao wayback machine não resolva:

http://web.archive.org/web/20080204231757/http://www.securephpwiki.com/index.php/Email_Injection

Dai lendo sobre o magic quotes (não me lembro a página), me deparo com o trecho abaixo:

The magic_quotes_gpc PHP configuration directive affects Get, Post and Cookie values. If turned on, value (It’s “PHP!”) will automagically become (It\’s \”PHP!\”).

E claro, o Jannone já cantou a bola no comentário. É o recurso dúbio do “magic quote” que esta ativado no servidor linux.

E o pior que nem é culpa do administrador, pois o magic quote sai habilitado por padrão na instalação do PHP4, e não é habilitado no PHP5 (o que eu estou usando aqui localmente).

E como já no servidor linux esta instalado o PHP4… bummmmm….

Assim sendo, até que o meu remendo não é dos piores e nem o mais dos feios, pois ele é transparente no caso de rodar aqui localmente no PHP5 e faz sua função lá no servidor onde tem PHP4.



   quarta-feira, 27 de agosto de 2008

Gambiarra, "Recurso técnico" ou o que seja.



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Em minhas aventuras como gambiar…. erhhh… programador em php, como todo bom iniciante, as vezes apanho por bobeira, mas nada que uma consultinha no Google ou em um dos zilhões de fóruns sobre php não conserte depois de bater testa uns 15 minutos no monitor.

Mas ontem aconteceu uma que me deixou atordoado. Estava do lado de cá montando um script pra cuspir um e-mail multpart, formatado em texto plano e html. No meio do meu código (o html gerado pelo script para o e-mail) tem uma linha que deve ser carregado com valores passados por variaveis vindas do script php que monta a página web. Até ai, nada de novo… nada que $_SESSION[cesta][$indice][ITEM] não insira o valor no html gerado para o e-mail.

Tudo vai muito bem na parte txt… Mas na hora de gerar o html começa o martírio com as aspas.

E pra atribuir uma string (valores não numéricos) a uma variável, é necessário que o dado esteja delimitado por aspas, desse jeito: $v_iten .= “blábláblá”;

Legal, logo se for atribuir tags html é preciso dizer ao interpretador php que a próxima aspa (que no caso pertence a uma tag html) não é a que fecha a delimitação da string… OU usar aspas simples ( ‘ ) ao invés da aspas dupla ( ” ).

Sabido o que eu queria agora vamos ao pepino em si. De cara eu fui pelo método mais simples, o que gera menos texto pra escrever, usei tudo aspas simples nas tags html.

No servidor local, que esta instalado em meu pc (web developer suite, ou seja php5 + apache for windows) tudo funcionou redondamente, como deveria ser. O código cuspido no e-mail era assim: <tr><td class=’grid’ height=’26’ width=…

Maaaaassss… murphy esta de plantão e é claro que DEU pau na hora que eu subi pro servidor, que roda em linux (não me pergunte a versão do php que esta por lá deve ser 4.alguam coisa).

Explicando um pouco mais, a tripa de tags html são geradas em $v_iten que na verdade é um array. E este é passado ao script que gera o e-mail através de um field hidden no código e envia via post.

Do outro lado a variável é recebida do post e copiada para $v_iten novamente.

Porém no servidor linux ela chegava assim: <tr><td class=\’grid\’ height=\’26\’ width=…

Não me pergunte porque o php que esta rodando lá no servidor, inventou de inserir \ (backslach) nas aspas simples, talvez querendo dizer… a próxima aspas é pra imprimir e não é código, tal como se faz com a aspas duplas, quando ela é imprimivel e não é delimitadora: \”

Dai vou eu tentar o plano B nas tags html… ao invés de aspas simples, vamos usar \” que deve funcionar.

Aha… não funcionou! Não sei porque, ai tanto faz no meu servidor local quanto no web, o php se perdia nas aspas e misturava o código html presente na variável, no código da pagina, fazendo um rebú danado.

Não teve o que eu fizesse que resolveu. A solução (porca mas digamos… “bem sacada”) que acabei utilizando foi… fazer search & replace na variável depois de passada pelo post, a procura dos \ e substituir por… nada…

Resumindo (inclusive com o comentário, que ficou engraçado):

//GAMBIAR... OPS! RECURSO TÉCNICO PRA CONSERTAR O BUG QUE ACONTECE NO PHP DO SERVER LINUX...
$v_itens = str_replace("\\", "", $v_iten);

É feio? É porco? É… mas funcionou. Quando eu tiver tempo e cabeça ou vou atrás de entender o que esta acontecendo e como resolver da forma correta, mas por enquanto dessa forma esta funcionando eheheh



   quinta-feira, 21 de agosto de 2008

Perturbação Eleitoral



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Esse post é quase um ^C & ^V de um comentário meu no youtube. Aqui esta um pouco maior porque eu não tenho o limite de caracteres imposto nos comentários do youtube.

É só eu que acho essas propaganda da campanha vota brasil 2008 pra lá de ridículas?

Não assiste TV aberta? Sorte sua… eu vejo TV aberta só para ver um pouco das desgraças diárias nos jornais, e assistir alguma pouca coisa que presta, dai sobra discovery, cartoon e outras na tv por assinatura. Alias aproveitando o gancho, puta palhaçada essa de quererem obrigar os canais por assinatura a terem uma porcentagem fixa de programação nacional. CACETE! Se eu já pago a TV é porque eu quero escolher o que quero assistir e quero fugir das tosquerias nacionais, agora querem enfiar pela minha goela abaixo o lixo nacional? Socorro!

Mas falando das propagandas toscas…

Veja duas delas aqui e aqui.

A mais ridícula delas eu não achei… a da abelha no ouvido… PQP!

Como assim meu voto é a única arma pra não colocar político corrupto lá? Ahhhmmmm… Dá pra desenhar que eu não entendi?

Sei sei, dai inventam de colocar disponível ao publico a lista de candidatos com a ficha suja e impugnar a candidatura deste, dai, claro eles chiaram, afinal se passar tudo na peneira eu tenho certeza que sobra uns 10% dos candidatos e olhe lá…

Mas dai acham isso a maior inconstitucionalidade? Não pode fazer isso, não pode fazer aquilo, é sigilo, é a coisa do tal que não se pode acusar ninguém sem provas, e até que se saia a condenação o cara é considerado réu primário e não pode ter ficha suja…Ah… faz favor…

Por isso que a 3 eleições eu sou adepto do partido PVN… Partido do Voto Nulo. Voto no candidato 00 sem pensar duas vezes, pelo menos não participo da patifaria.

Se alguém achar que eu estou sendo exagerado, clica no link no menu ai do lado, no Sem Perdão e passe a acompanhar este blog por uma semana, dai volte aqui e deixe suas conclusões.

Pelo menos clique aqui no link da Associação dos Magistrados do Brasil e veja uma parte da lista dos candidatos que tem processos abertos em seu nome e não votem neles, veja o que sobra e arrisque-se se quiser.



   terça-feira, 19 de agosto de 2008

Rabugento eu? (continuação)…



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Bom, eu havia prometido contar o causo do frete no mercado livre.

A algumas semanas atras, eu resolvi aproveitar os preços pra lá de baixos de cartões de memória e comprar um cartão MMC de 1Gb para o N-Gage, que desde que eu o comprei ele estava com um cartão de 256Mb que eu comprei pra um outro uso e foi “surrupiado” para o N-Gage.

Claro que o local para comprar o cartão foi o mercado lixo. Abrindo um parenteses, pode falar o que for, o mercado lixo é um lixo, é ruim, cobram comissões extorsivas, são trogloditas, mas são eles que bobam, eu fiz um anuncio de um produto que no ML eu vendo até rachar, lá no Toda Oferta (do UOL) e sabe quantas visitas? em 10 dias, 15 visitas, sendo que 5 são minhas mesmo.

Bom achei um vendedor que tinha o cartão que eu queria, num preço legal. Leio todo o anuncio como de praxe, pra não entrar em roubada, pergunto o que sobra de duvida (sempre sobra) antes de clicar em comprar. Tudo do exclareciso, mando ver.

A coisa digna de nota é que no leilão estava escrito em alto e bom português:

Frete R$12,00 = Encomenda.
Pra bom entendedor… Encomenda é Encomenda normal ou PAC como os correios chamam agora, correto?

Beleza, faço o depósito, passo os dados do pagamento para a vendedora, e dali 3 dias eu recebo este código de rastreio: RC431687497BR

Pra quem não conhece os códigos de postagem e rastreio dos correios, isso ai é carta registrada. Se fosse SEDEX começaria com SQ ou SO, e se fosse PAC seria EC.

Claro que eu me senti enganado. Afinal, carta registrada custa R$4,90. Dai começou o maior dos bate-boca com a vendedora. Ela se defendendo de tudo quando é forma estapafurdia, dizendo que esta correto e tal, que eles tem um acordo não oficial com uma agencia dos correios e pagam o valor integral do frete e eles lá é que escolhe a melhor maneira de enviar.

Por pouco eu não dei negativo pra vendedora. O papo final com ela foi que ela fosse mais honesta e clara com os clientes e que aquilo não era certo.

Mas acha que isso parou ai??? Que acha que sim… péééééééppp…. errou! Teve mais rolo.

Pra quem também não sabe, carta registrada só pode ser utilizada para o envio de documentos (papel) ou quando provado e envelopado na frente do atendente do correio, CD/DVD que não seja mídia prensada, e sim mídia gravada com arquivos do usuário (não precisa comprovar o conteúdo, bastar se uma mídia gravada).

Chega o pacote e vou retirar. Nisso comento com o atendente a sacanagem que fizeram. Dai o chefe dos correios que esta por perto (e é meu amigo) me chama para sala dele e pergunta detalhes do ocorrido. Explico tudo e ele me diz.

– Olha isso realmente não pode, se você por exemplo for postar isso nesta agencia, a postagem é recusada. Se você quiser eu posso abrir um processo de reclamação. Basta você me deixar o envelope com a etiqueta aqui que eu abro o processo.

Claro que eu deixei. Passado uma semana mais ou menos, ele me avisa que o processo foi aberto, e me pede que se eu tiver e puder ceder, qualquer comprovante que comprove que foi comprado o produto e que este não era nada do que se enquadra no envio de carta registrada.

Tratei de juntar copia do comprovante de depósito, e-mail do ML com a confirmação da compra, tela do anuncio do ML, e os e-mails trocados com a vendedora.

Entreguei tudo e mostrei os detalhes da discussão pra ele.

Ele me pediu autorização pra anexar os documentos a reclamação e omitir alguns dados pessoais meus.

Assim foi feito, agora não sei que final isso vai tomar, mas garanto que deve dar alguma dorzinha de cabeça pra quem faz parte do tal “convênio não oficial” lá dos correios de SP.

Como diz um amigo meu por aqui… Deixa a aboboreira alastrar

[ Ouvindo: Randy Bush – Sounds Like A Melody ]


   terça-feira, 12 de agosto de 2008

Rabugento eu?



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Imagine a situação:

Oitavo dia útil do mês, banco entupido de gente, filas que não acabam mais (nem se atreva a olhar a fila dos caixas) gente apressada e um calor anormal pra outubro.

Eu, que ODEIO ir em banco, evito de ir justamente pra não passar raiva, procuro fazer o que dá via internet, quando não dá pago no supermercado, farmácia, ou o que seja que tenha convenio bancários, so pra não ir naquela muvuca, tive que ir hoje ao bradesco, para pegar um cheque devolvido (estava sem assinatura).

Pego a fila do balcão para “atendimento geral” e fico pacientemente ouvido qualquer coisa no N-Gage no fone de ouvido. E nessa pé a fila vai andando. Tinha umas 15 pessoas na minha frente.

(20 minutos depois…)

Estou eu na primeira posição, aguardando uma vez, dai muito sorrateiramente, uma moça passa ao lado de todos, dentro do chiqueirinho, passa por mim e encosta no balcão de atendimento. E o funcionário do banco atendendo um cliente que já estava lá.

Assim que ele termina, passa para a tal moça. (o sangue começa a ferver…) Eles falam rapidamente algo que não ouvi, ela passa alguns papeis a ele. Nisso a pressão foi lá em cima!

Imediatamente retirei o fone do ouvido, e já mandei ver, rodando a Baiana:

– Interessante, quer dizer que todo mundo fica que nem idiota aqui na fila, por 20 minutos e a senhorita passa todo mundo a fila? Porque não espera lá atrás como todo correntista?

O funcionário do banco, meio vermelho, vira e me diz… ela não é correntista é correspondente bancária.

Segue meu esbravejamento:

– E qual a diferença? Isso aqui não é fila única? Eu sou correntista, e porque você não pode ficar na fila e esperar como todo mundo?

Dai ela vira do balcão e solta:

Não se meta no que você não sabe, eu sou correspondente bancária. Seja mais educado.

(Na hora a vontade foi de catar pelo pescoço…)

– Seja mais educada você, passa por todo mundo na fila, nem pede licença e nem se explica, isso não é certo. Além disso você não esta portando nenhuma identificação. Não custava chegar na fila e pedir licença.

Nisso catei meu cheque e me mandei batendo o pé.

Santa petulância batman!

Que que custa chegar e pedir licença? Se explicar? Se identificar? Cada dia que passa eu fico mais puto com a esperteza, com o jeitinho brasileiro.

Na hora eu me senti exatamente como o maior rabugento que eu conheço… o personagem interpretado pelo saudoso Francisco Milani… Seu Saraiva!

Teve uma outra história que me deixou roxo, verde, amarelo, azul, branco, vermelho de raiva. Fui um caso do frete de uma compra pelo mercado livre. Essa eu escrevo amanhã.



   quarta-feira, 6 de agosto de 2008

Primeiro passo.



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Este é o primeiro passo para dar adeus aos disquetes pelo menos para as operações cotidianas entre transportar arquivos do PC para o MSX.

Um leitorzinho de cartões barato.

Esse eu ganhei, estava com um pequeno problema no conector do memory stic, mas nada que não pudesse ser resolvido com 15 minutos, um pino de um conector de memory stick de um outro leitor velho, bichado que não funciona no windows 2000.

Gostei dele porque tem um conector USB frontal.

Meu gabinete já tem dois conectores frontais, mas é aquela coisa super bem feita. Se você coloca um pendrive, não tem espaço pra ligar o cabo usb para descarregar câmera por exemplo, pois os dois conectores são um em cima do outro.

E como se não bastasse, fica na parte mais baixa do gabinete, quase que rente a mesa.

O mais interessante é essa placa mãe que uso, uma Asus A7NX-E Deluxe, o fabricante montou um Hub USB de 8 portas na placa, mas sabe-se lá porque cargas d’água não colocaram o conector das portas USB 7 e 8.

Claro, que não perdi a oportunidade e soldei o conectorzinho, dois capacitores, bobininha e um rpack de 4 resistores que faltavam. Coisa de centavos que o fabricante quis economizar, mas que faz falta nos dias de hoje, com essa enchente de “tudo-usb”.

Só a arvore do explorer que ficou uma coisa linda!

 

[ Ouvindo: Tommy Tutone – 867-5309 (Jenny) (1982) ]


   terça-feira, 5 de agosto de 2008

Disquetes, CD, DVD e outras pragas.



1 Star2 Stars3 Stars4 Stars5 Stars (Nenhum voto, seja o primeiro!)
Loading...

Nesse final de semana precisei novamente copiar alguns arquivos para o MSX, para fazer um teste de um programa beta. Adivinha a raiva que passei com os disquestes? Bom, pra copiar um mísero arquivinho de 47Kb foram necessários quatro disquetes e muita raiva.

Bom… dai que o teste precisava usar o drive de CD. Ok, ok… dai quem começou a dar encrenca foi o velho drive da creative de 24x, tava engasgando mais do que neném com água.

Resolvo dar uma olhada nas minhas tralhas atrás de um drive que estivesse funcionando. Sete drives depois (dizem que sete é conta de mentiroso, por isso a foto) e umas duas horas perdidas e nenhum sucesso deu numa pilha de sucata de drive de CD e DVD.

Ontem mesmo resolvo dar uma olhada no mercado lixo. Leitores de CD não existem mais. DVD-ROM, piorou. O mínimo que achei foram gravadores de CD da LG, novos (estoque velho) a míseros R$29,90 + frete. E alguns Combo a média de R$40,00 + frete.

Num passeio na loja de um amigo aqui na cidade, também acabei descobrindo que dispositivos IDE estão meio difíceis de achar. Agora é tudo SATA. Mas no final acabei achando por lá um Combo da LG, com muito pouco uso, melhor que nada. E paguei a mixaria de R$10,00.

Agora resta resolver o babado dos disquetes. Estou seriamente inclinado a montar uma interface adaptadora de Cartão SD para Floppy que vi num site Frances. Á’te já comprei as peças mais difíceis na farnell. Se der certo, o drive de disquete vai ganhar o caminho da rua, ai coloco um leitor desses 21 em 1 de cartão no PC e essa interface no MSX. E adeus dores de cabeça com disquetes.



  Melhor visualizado a
1024 x 768 True color
Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
E altamente gambiarrado por mim mesmo :)
Copyright © 2010 by Crash Computer. All rights reserved.