Jump to content


Photo

Passando De Access Para Mysql.


  • Faça o login para participar
62 replies to this topic

#46 KBR

KBR

    kl3b3r

  • Usuários
  • 392 posts
  • Sexo:Não informado
  • Localidade:Mauá - SP
  • Interesses:ASP // DESENVOLVIMENTO WEB // MYSQL // ACCESS // FLASH // FIREWORKS // DREAMWEAVER // REDES

Posted 02/11/2004, 08:03

Da para inserir no MySQL dd/mm/aa mas verifique depois que ficara um treco todo doid (pelo menos cmg...)
Inserindo aa/mm/dd ele converte o ano de dois dígitos para quatro (pelo menos cmg heheh :D...)

ex.: INSERT ........... "04/10/19" fica lah: 2004/10/19

sabe uma maneira que eu uso e funciona?
eu crio um campo no bd tipo CHAR(20) com o nome data
insiro nele as datas e horas (NOW), depois queando vou fazer um select ou algo que nescessite uma comparação com a data atual e a salva no MySQL eu uso a função CDate(X) que converte X para um formato de data (cDate = convert date) aí faço uma comparação NÃO NO SELECT mas sim após ele
ex.:
SELECT * FROM table WHERE user = 'teste'
'quero verificar se passou 5 minutos que o user "teste" se logou no site

StrHoraLogin = CDate( rs("HoraLogin") ) 'tem guardado a hora do login

If DateDiff("n",NOW,StrHoraLogin) >= 5 then response.write("Tem mais de 5 minutos que o usuario teste se logou") Else response.write("Tem menos de 5 minutos que o usuario teste se logou")


SACARAM?
Para menos problemas futuros (que foi os que tive mas GRAÇAS A DEUS já tinha conhecimento das funções) pesquise a sintaxe e para que funciona as seguintes funções que trabalham com datas:

CDate()
DateDiff()
DateAdd()
DatePart()
DateValue()
IsDate()
Now()
Time()
Day()
Year()
Month()
Second()
Minute()
Hour()

Todas as funções acima podem ser encontradas no site que eu sempre uso:

http://www.SuperASP.com.br

Na página inicial tem do lado direito um menu com muitas funções, clique na que desejar, que abrirá uma pop-up(dependendo do seu navegador ou fireWall)

Outra coisa que pode deixar você muito doido:
Tipo de dados!
Vou dar uma breve explicação (não sei muito bem não, então por favor se dizer bobagem espero ser corrigido :P)
Todo campo criado, deve ser especificado um TIPO DE DADO, ou seja, os tipos de dados que podem ser inseridos ali. Você que meche com bd já deve estar um pouco acostumado com o básico disso. Por exemplo, cria campo do tipo Data ou Date. Nesse campo só poderão ser inseridas DATAS! Deve ter conhecimento tb do campo Data/Hora ou Date Time. Já nesse campo, serão inseridas datas e tempos como Hora:Minuto:Segundo. Tem tb o campo texto, que como o nome diz, insere textos!
Vou dar uma BREVE e HUMILDE explicação sobre os básicos e que NA MINHA OPINIÃO os mais usados(pois são os que mais uso haha :P)

TIPO--||-- BYTES --||-- EXPLICAÇÃO

Numéricos Inteiros(INT)

SmallInt -- || -- 2 --||-- números entre -32768 e 32767
Int ---------|| -- 4 --||-- -2 bilhões a 2 bilhões


Numéricos Reais(FLOAT)

Double --||-- 8 -- || -- 5x10(elevado a -324 (E-324)) até 1,7x10(E308)
Float -----||-- ? --||-- ?
Decimal -||-- ? --||-- ?


Tipo CHAR
Cracteres únicos, individuais: A; B; C; 1; ?; /; *; etc etc etc....
Você pode especificar o tamnho máximo: ex.: 5, aí poderão ser inseridos 5 tipos de dados do tipo CHAR: ABCDE; 12345; A2B4E; ?*/-+; etc etc etc...

Tipo TEXT
Inserir textos

Tipo LongText
Para inserir Longos Textos, para guardar muitos dados

Tipo Date
para guardar datas

Tipo DateTime
Para guardar datas e horas


Proptiedades dos campos:
* Length / Set: é o tamanho máximo do campo, por ex.10, só poderão ser inseridos 10 caracteres no campo
* Default: valor inicial do campo
* Binary: salva dados do tipo Binário(01)
* NotNull: o campo não pode ser deixado em branco, sem valor
* AutoIncrement: para campos tipo ID, que coloca valores automaticamente e sucessivamente(1,2,3,4,5,6,7,8,9,10)
* Type: tipo de dados do campo
* Name: nome do campo
* Position: posição do campo


PROGRAMAS PARA USO DO MYSQL

MyODBC
ODBC do MySQL. Nescessário para rodar o MySQL!
URL: http://mirror.etf.bg...DBC-3.51.06.exe

MySQL
O server nescessário para rodar o MySQL!
URL: http://dev.mysql.com...g.usp.br/mysql/

MySQL-Front
Programa perfeito, lindo, explendido. é melhor que Access. você não precisa digitar nada para ciação de tabelas, campos etc. Ele faz tudo!
URL: http://mysqlfront.ho...Front_Setup.exe

Access2MySQL (Access To MySQL)
Muiiiito útil, ele pega seu bd em Access e transforma em MySQL hehe, ou vice versa :P
URL: http://www.dmsofttec...s2MySQL_Pro.zip


Putz, comecei a responder era 00:11 agora são 01:14 hehehe mas valew a pena, demorei a procurar as URLs dos arquivos que uso, e tb para lembrasr os treco de cabeça, ai confunde aki, lembra ali e assim vai neh?
Espero ter ajudado um pouco!
ABRAÇOS e BOA SORTE

AHHHHHH, A propósito:
VIVA AO MySQL!!!! IUHU!

Eu instalei os três primeiros programas, mas não rodou o MYSQL em meu pc, tenho que fazer algo mais???

#47 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 18/12/2004, 03:22

Aew, tô pra migrar pro MySQL logo logo tbm!

E kero saber se é real isso de:

rs.Update
rs.Delete

Não funfarem no MySQL, é verdade?

Ah, quanto a história do TOP do acess ser no mysql LIMIT , eu desconheço esse LIMIT, se alguém puder explicar, como é a sintaxe e talz! :D
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#48 |KILLING|

|KILLING|

    12 Horas

  • Usuários
  • 174 posts
  • Sexo:Não informado

Posted 18/12/2004, 16:25

Opa.. com alguns testes descobri que funciona o rs.AddNew, rs.Update mas soh no máximo com 5 registros!
quanto ao limit eh parecido com a função Mid():

SELECT * FROM tabela WHERE coluna LIMIT 0,5

vai do registro 0 até o registro 5!

SELECT * FROM tabela WHERE coluna LIMIT 5,10

vai do regu]istro 5 até o 10

SACOU?

ABRAÇOS

#49 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 18/12/2004, 19:29

Da para inserir no MySQL dd/mm/aa mas verifique depois que ficara um treco todo doid (pelo menos cmg...)
Inserindo aa/mm/dd ele converte o ano de dois dígitos para quatro (pelo menos cmg heheh :D...)

ex.: INSERT ........... "04/10/19" fica lah: 2004/10/19

sabe uma maneira que eu uso e funciona?
eu crio um campo no bd tipo CHAR(20) com o nome data
insiro nele as datas e horas (NOW), depois queando vou fazer um select ou algo que nescessite uma comparação com a data atual e a salva no MySQL eu uso a função CDate(X) que converte X para um formato de data (cDate = convert date) aí faço uma comparação NÃO NO SELECT mas sim após ele
ex.:
SELECT * FROM table WHERE user = 'teste'
'quero verificar se passou 5 minutos que o user "teste" se logou no site

StrHoraLogin = CDate( rs("HoraLogin") ) 'tem guardado a hora do login

If DateDiff("n",NOW,StrHoraLogin) >= 5 then response.write("Tem mais de 5 minutos que o usuario teste se logou") Else response.write("Tem menos de 5 minutos que o usuario teste se logou")


SACARAM?
Para menos problemas futuros (que foi os que tive mas GRAÇAS A DEUS já tinha conhecimento das funções) pesquise a sintaxe e para que funciona as seguintes funções que trabalham com datas:

CDate()
DateDiff()
DateAdd()
DatePart()
DateValue()
IsDate()
Now()
Time()
Day()
Year()
Month()
Second()
Minute()
Hour()

Todas as funções acima podem ser encontradas no site que eu sempre uso:

http://www.SuperASP.com.br

Na página inicial tem do lado direito um menu com muitas funções, clique na que desejar, que abrirá uma pop-up(dependendo do seu navegador ou fireWall)

Outra coisa que pode deixar você muito doido:
Tipo de dados!
Vou dar uma breve explicação (não sei muito bem não, então por favor se dizer bobagem espero ser corrigido :P)
Todo campo criado, deve ser especificado um TIPO DE DADO, ou seja, os tipos de dados que podem ser inseridos ali. Você que meche com bd já deve estar um pouco acostumado com o básico disso. Por exemplo, cria campo do tipo Data ou Date. Nesse campo só poderão ser inseridas DATAS! Deve ter conhecimento tb do campo Data/Hora ou Date Time. Já nesse campo, serão inseridas datas e tempos como Hora:Minuto:Segundo. Tem tb o campo texto, que como o nome diz, insere textos!
Vou dar uma BREVE e HUMILDE explicação sobre os básicos e que NA MINHA OPINIÃO os mais usados(pois são os que mais uso haha :P)

TIPO--||-- BYTES --||-- EXPLICAÇÃO

Numéricos Inteiros(INT)

SmallInt -- || -- 2 --||-- números entre -32768 e 32767
Int ---------|| -- 4 --||-- -2 bilhões a 2 bilhões


Numéricos Reais(FLOAT)

Double --||-- 8 -- || -- 5x10(elevado a -324 (E-324)) até 1,7x10(E308)
Float -----||-- ? --||-- ?
Decimal -||-- ? --||-- ?


Tipo CHAR
Cracteres únicos, individuais: A; B; C; 1; ?; /; *; etc etc etc....
Você pode especificar o tamnho máximo: ex.: 5, aí poderão ser inseridos 5 tipos de dados do tipo CHAR: ABCDE; 12345; A2B4E; ?*/-+; etc etc etc...

Tipo TEXT
Inserir textos

Tipo LongText
Para inserir Longos Textos, para guardar muitos dados

Tipo Date
para guardar datas

Tipo DateTime
Para guardar datas e horas


Proptiedades dos campos:
* Length / Set: é o tamanho máximo do campo, por ex.10, só poderão ser inseridos 10 caracteres no campo
* Default: valor inicial do campo
* Binary: salva dados do tipo Binário(01)
* NotNull: o campo não pode ser deixado em branco, sem valor
* AutoIncrement: para campos tipo ID, que coloca valores automaticamente e sucessivamente(1,2,3,4,5,6,7,8,9,10)
* Type: tipo de dados do campo
* Name: nome do campo
* Position: posição do campo


PROGRAMAS PARA USO DO MYSQL

MyODBC
ODBC do MySQL. Nescessário para rodar o MySQL!
URL: http://mirror.etf.bg...DBC-3.51.06.exe

MySQL
O server nescessário para rodar o MySQL!
URL: http://dev.mysql.com...g.usp.br/mysql/

MySQL-Front
Programa perfeito, lindo, explendido. é melhor que Access. você não precisa digitar nada para ciação de tabelas, campos etc. Ele faz tudo!
URL: http://mysqlfront.ho...Front_Setup.exe

Access2MySQL (Access To MySQL)
Muiiiito útil, ele pega seu bd em Access e transforma em MySQL hehe, ou vice versa :P
URL: http://www.dmsofttec...s2MySQL_Pro.zip


Putz, comecei a responder era 00:11 agora são 01:14 hehehe mas valew a pena, demorei a procurar as URLs dos arquivos que uso, e tb para lembrasr os treco de cabeça, ai confunde aki, lembra ali e assim vai neh?
Espero ter ajudado um pouco!
ABRAÇOS e BOA SORTE

AHHHHHH, A propósito:
VIVA AO MySQL!!!! IUHU!

Eu instalei os três primeiros programas, mas não rodou o MYSQL em meu pc, tenho que fazer algo mais???

tp pra rodar mysql com asp vc anda vai precisar do:
MyODBC-3.51.06
dá uma procurada q nao lembro agora o site, mas tem q ter isso pra rodar com asp
o mysql no meu micro por ex. eu instalei pr ausar com php inicialmente.

uso ele no http://localhost:1005

tenta pr aver..

pra rodar o mysql sozinho legal, so instlei e nada mais..so q rodo ele no apache e nao no iis ou pws..
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#50 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 19/12/2004, 05:14

Opa.. com alguns testes descobri que funciona o rs.AddNew, rs.Update mas soh no máximo com 5 registros!
quanto ao limit eh parecido com a função Mid():

SELECT * FROM tabela WHERE coluna LIMIT 0,5

vai do registro 0 até o registro 5!

SELECT * FROM tabela WHERE coluna LIMIT 5,10

vai do regu]istro 5 até o 10

SACOU?

ABRAÇOS

Salve killing!

Valeu brother, entendi perfeitamente. (y) ;)

E kra, vc não sabe se o rs.Delete funfa? :unsure:


Agora vai uma dica pra galera que pode mudar de banco de dados a qualquer momento: Ao invés de usar o TOP ou o LIMIT que limitaria vocês a um banco de dados, usem a propriedade CacheSize do obejto ADO Recordset.
Acho que no iMasters tem algo referente... :D
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#51 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 19/12/2004, 19:19

®,19 Dec 2004, 05:14 ]

Opa.. com alguns testes descobri que funciona o rs.AddNew, rs.Update mas soh no máximo com 5 registros!
quanto ao limit eh parecido com a função Mid():

SELECT * FROM tabela WHERE coluna LIMIT 0,5

vai do registro 0 até o registro 5!

SELECT * FROM tabela WHERE coluna LIMIT 5,10

vai do regu]istro 5 até o 10

SACOU?

ABRAÇOS

Salve killing!

Valeu brother, entendi perfeitamente. (y) ;)

E kra, vc não sabe se o rs.Delete funfa? :unsure:


Agora vai uma dica pra galera que pode mudar de banco de dados a qualquer momento: Ao invés de usar o TOP ou o LIMIT que limitaria vocês a um banco de dados, usem a propriedade CacheSize do obejto ADO Recordset.
Acho que no iMasters tem algo referente... :D

rs.MaxRecords = x

Uma pergunta.. o MySql aceita funções de strings? (Left..Right..Trim..Mid)

Edição feita por: hdz*, 19/12/2004, 19:26.

MCAD, MCP

#52 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 19/12/2004, 19:38

Onde? No próprio SQL? Se for, você pode fazer assim, por exemplo:

SELECT SUBSTRING(Campo,0,10) AS Texto FROM Tabela
Nesse exemplo, a função SUBSTRING funciona como a MID, retorna só os dez primeiros caracteres. Não sei quanto a Left e Right, mas acho que funcionam também.

#53 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 19/12/2004, 19:51

Onde? No próprio SQL? Se for, você pode fazer assim, por exemplo:

SELECT SUBSTRING(Campo,0,10) AS Texto FROM Tabela
Nesse exemplo, a função SUBSTRING funciona como a MID, retorna só os dez primeiros caracteres. Não sei quanto a Left e Right, mas acho que funcionam também.

Blz.. bom.. dai independe de ter Left ou Right.. caso tenha uma funcao LEN() ou length.. tantu faiz.. ..

Tem essa funcao? ( To querendo saber pq ainda num instalei u mysql mas eu vo t q usa).

Agora saindo um pouco do assunto do topico (sorry..) mas aproveitando..
E outra, será q o FireBird.. vai crescer e vai ser um substituto free do interbase? Pq eu uso e apesar das limitacoes (poucos tipos de dados e poucas funcoes) eu achu ele bastante rapido e não me apresenta problemas.

Edição feita por: hdz*, 19/12/2004, 20:08.

MCAD, MCP

#54 |KILLING|

|KILLING|

    12 Horas

  • Usuários
  • 174 posts
  • Sexo:Não informado

Posted 19/12/2004, 19:52

Direto no SQL se tem eu nem faço a mínima idéia, mas uma linha a mais ou a menos naum faz diferença neh hehehe, eu faço o select e uso as funções diretamenta no Recordset....

A respeito do rs.Delete pelos meuys testes funciona tb NO MÁXIMO COM 7 REGISTROS, não si porque, nem sei se funciona nos server saca, aqui em casa deu assim heheh...
O melhor eh mudar todas as instruções SQL mesmo...

ABRAÇOS

#55 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 20/12/2004, 01:38

Blz.. bom.. dai independe de ter Left ou Right.. caso tenha uma funcao LEN() ou length.. tantu faiz.. ..

Tem essa funcao? ( To querendo saber pq ainda num instalei u mysql mas eu vo t q usa).

O MySQL dá um banho em quantidade de funções. Essa LEN tem sim, só que é assim:

SELECT LENGTH(Campo) AS Tamanho FROM Tabela
Dê uma olhada aqui:

http://dev.mysql.com.../Functions.html

Edição feita por: LeoB, 20/12/2004, 01:40.


#56 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 22/12/2004, 17:19

Só killing!

Ainda não testei, mas só 7? É estranho.. talvez só contigo. Mas não sei :P

Mas brother, tenho uma coisa q tava pensando agora...

Acho eu q não há problema, mas em todo caso, vamos nos colocar a pensar se não há nenhum problema.

É usando rs.UPDATE.

Seguinte:
O cliente postou dados em um formulário, sendo q no campo nome, suponhamos q ele tenha colocado uma ASPAS SIMPLES ', certo?
Ok.
Fazemos uma verificação pelo recordset usando o id do cliente que está logado. Logo:
rs.open("SELECT * FROM clientes WHERE id="& Cint(Session("id"))),conn,0,2
if not rs.eof then

  rs("nome") = Request.Form("nome")   '<-- ATENÇÃO NESTA LINHA

  '//* rs("nome") = '

  rs.Update 'Atualizamos o registro

end if
rs.close : set rs = nothing
Então, como disse, no form ele digitou neste campo nome um apóstrofo/aspas simples, e eu não fiz o tratamento do campo, e logo depois atualizei.

Bem, aí vem a questão: Isso poderá me trazer problemas, tanto na hora como depois?
Na hora eu acho q não, 99% de certeza, e posteriormente, será q há um risco?
Meus sites:
- Guia Camaquã
- Laroya atacadista
- Emílio confecções

Ocupação: WebDeveloper avançado

Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.

Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!

#57 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 23/12/2004, 03:10

Onde? No próprio SQL? Se for, você pode fazer assim, por exemplo:

SELECT SUBSTRING(Campo,0,10) AS Texto FROM Tabela
Nesse exemplo, a função SUBSTRING funciona como a MID, retorna só os dez primeiros caracteres. Não sei quanto a Left e Right, mas acho que funcionam também.

Blz.. bom.. dai independe de ter Left ou Right.. caso tenha uma funcao LEN() ou length.. tantu faiz.. ..

Tem essa funcao? ( To querendo saber pq ainda num instalei u mysql mas eu vo t q usa).

Agora saindo um pouco do assunto do topico (sorry..) mas aproveitando..
E outra, será q o FireBird.. vai crescer e vai ser um substituto free do interbase? Pq eu uso e apesar das limitacoes (poucos tipos de dados e poucas funcoes) eu achu ele bastante rapido e não me apresenta problemas.

tem um topico sobre o firebird nao sei onde no forum..da uam buscadinha q tem coisas interessante al..

eu instalei no meu pc, muitos dizem q é muito bome poderoso, ind a nem consegui mexer nele, mas breve quem sabe..

dá uma procurada nesse topico, q é bom.

t+ :D
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#58 |KILLING|

|KILLING|

    12 Horas

  • Usuários
  • 174 posts
  • Sexo:Não informado

Posted 08/01/2005, 02:04

Opa, foi mal a demora Guto, é que não estou entrando aqui mais flw???
vamos lah, será que a aspas sinmples registrada no BD trará problemas???
HUMM
COM CERTEZA NEH?
No caso ali não deu problema pois usou o rs.Update, se tivesse usado o UPDATE SET....... sim, traria problemas E GRAVES, MUIIITO GRAVES, graves de poderem invadir o site (confesse que já achei siteS com estes erro e brinquei um pokinho :D), então:
a aspas simples está lá no BD right?
Por exemplo se acontece usso numa coluna usuario, que será usada para login no site, imagine um select (ATENÇÃO:o suuario sabe que seu nome de usuario tem aspas)

login: '-.-'
pass: cat

LEGAL NEH? USUARIO COM ASPAS DESENHEI UM GATINHO LINDINHO NEH HAHA!

Agora o sistema irá fazer:

"SELECT * FROM tabela WHERE usuario = ''-.-'' AND senha = 'cat'"

O QUE SERÁ PROCURADO NO BD?????????

login: (nada)
pass: (nada)

POIS DARÁ UM ERRO NO SELECT:

"SELECT * FROM tabela WHERE usuario = '' -.-'' AND...

o servidor vai pensar: QUE PORCARIA É ESSA DE -.-'' NO MEIO DO SELECT??

E O QUE TEM NO BD?????

login: '-.-'
pass: cat

Pois é o cara não conseguirá se logar!!!! ISSO É, NUNCA???? NUNCA !!!

Isso porque você não tratou os campos certo!!!

Aí vai uma aulinha HACKER (se não estaum tratados os campos):
Como usar o ASP para métodos maliciosos???

Imagine este mesmo caso acima, o mesmo login, mesma senha, mesmo select!
É muito importante fazer tratamento e pensar bastante para tratar os campos sabe pq?
olha aí, nesse sistema se eu coloco os seguintes login e pass:

login: ' OR usuario LIKE%% OR usuario = '
pass: ' OR senha LIKE%% OR senha = '

pois é olha como fica o select:

"SELECT * FROM tabela WHERE usuario = '' OR usuario LIKE%% OR usuario = '' AND senha = '' OR senha LIKE%% OR senha = ''"

VIU SÓ????, o que que aconteceu? você entrou no sistema do site!
Aí você vê lá no site dele (que bunitinho neh, dá até um ORGASMO na hora):

Ultimos cadastrados: GatinhaSampa, DoidaoGaucho

aí vc usa os logins assim:

login: ' OR usuario LIKE%GatinhaSampa% OR usuario = '
pass: ' OR senha LIKE%% OR senha = '

Entrou no loghin da GatinhaSampa!!!

HAHAHAHAHAHAHHAHAAHAH
Muito bacana neh?

Eu ensinei como entrar no erro agora vai aí para você que está lendo esse post lindo maravilhoso que nem sei pq tou ensinando essas coisas, não dá bobeira e uns LERDOS e sem o que fazer descobrir umas coisas dessas e fazer o que eu fiz e ainda ensina para os outros!


TRATANDO CAMPOS:

O principal do tratamento são as aspas simples sem dúvida, e em 2° lugar vem os erros que podem ocorrer no HTML, ou seja: < e > !!!

Function CorrigeByKILLING(str)
str = replace(str,"'","`")
str = replace(str,"<","&lt;")
str = replace(str,">","&gt;")
End Functio

como usar de meios MALICIOSOS os símbolos < e > ????

<script>window.location="meuSite.com.br"</script>
<script>alert('BURRO, NÃO SABE NEM PROGRAMAR')</script>

TA BOM?

Agora você tem que pensar em outras coisas como por exemplo:
seu campo do bd eh um campo CHAR(250), ou seja o máximo de caracteres que pode ter eh 250, se eu meto no campo para cadastrar 251 de maldade vai ocorrer erro, que vai dar o nome da coluna, que vai mostrar que você usa MySQL e assim por diante valew?????

aí MOD's, vocês jká me conhecem, a galera antiga me conhece qq coisa aí DESCULPA O POST, mas foi o POST de despedida, eu vou entrar aqui soh de vez em quando VALEW GALERA?

E SÓ PARA EXPLICAR:
Eu aprendi isso em um site construído por um AMIGO DA NET meu, que me ensinou muitas coisas de ASP quando eu estava começando, e tinha estes erros, eu invadi uns 3 sites dele assim, no mesmo dia comuniquei ele e ele arrumou, OU SEJA:
Se você for fazer algo que vá danificar os outros não o faça, mas se for HACKEAR alguma coisa, que seja para dizer ao dono que o site dele está com erro, e ENSINE ele a corrigir o erro, É muito mais bacana, prova que você sabe HACKIAR, ou seja que é bom, e ainda prova que é humilde, e a recompensa é muito maior BLZ??

ABRAÇOS À TODOS E UM FELIZ 2005 !!!
Esse post é meu presente de feliz ano novo, nunca pensei que ia ensinar essas coisas para os outros.........
BAH

Edição feita por: |KILLING|, 08/01/2005, 02:08.


#59 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 08/01/2005, 09:42

Opa, foi mal a demora Guto, é que não estou entrando aqui mais flw???
vamos lah, será que a aspas sinmples registrada no BD trará problemas???
HUMM
COM CERTEZA NEH?
No caso ali não deu problema pois usou o rs.Update, se tivesse usado o UPDATE SET....... sim, traria problemas E GRAVES, MUIIITO GRAVES, graves de poderem invadir o site (confesse que já achei siteS com estes erro e brinquei um pokinho :D), então:
a aspas simples está lá no BD right?
Por exemplo se acontece usso numa coluna usuario, que será usada para login no site, imagine um select (ATENÇÃO:o suuario sabe que seu nome de usuario tem aspas)

login: '-.-'
pass: cat

LEGAL NEH? USUARIO COM ASPAS DESENHEI UM GATINHO LINDINHO NEH HAHA!

Agora o sistema irá fazer:

"SELECT * FROM tabela WHERE usuario = ''-.-'' AND senha = 'cat'"

O QUE SERÁ PROCURADO NO BD?????????

login:    (nada)
pass: (nada)

POIS DARÁ UM ERRO NO SELECT:

"SELECT * FROM tabela WHERE usuario = ''    -.-''    AND...

o servidor vai pensar: QUE PORCARIA É ESSA DE  -.-''    NO MEIO DO SELECT??

E O QUE TEM NO BD?????

login: '-.-'
pass: cat

Pois é o cara não conseguirá se logar!!!! ISSO É, NUNCA???? NUNCA !!!

Isso porque você não tratou os campos certo!!!

Aí vai uma aulinha HACKER (se não estaum tratados os campos):
Como usar o ASP para métodos maliciosos???

Imagine este mesmo caso acima, o mesmo login, mesma senha, mesmo select!
É muito importante fazer tratamento e pensar bastante para tratar os campos sabe pq?
olha aí, nesse sistema se eu coloco os seguintes login e pass:

login: ' OR usuario LIKE%% OR usuario = '
pass: ' OR senha LIKE%% OR senha = '

pois é olha como fica o select:

"SELECT * FROM tabela WHERE usuario = '' OR usuario LIKE%% OR usuario = '' AND senha = '' OR senha LIKE%% OR senha = ''"

VIU SÓ????, o que que aconteceu? você entrou no sistema do site!
Aí você vê lá no site dele (que bunitinho neh, dá até um ORGASMO na hora):

Ultimos cadastrados: GatinhaSampa, DoidaoGaucho

aí vc usa os logins assim:

login: ' OR usuario LIKE%GatinhaSampa% OR usuario = '
pass: ' OR senha LIKE%% OR senha = '

Entrou no loghin da GatinhaSampa!!!

HAHAHAHAHAHAHHAHAAHAH
Muito bacana neh?

Eu ensinei como entrar no erro agora vai aí para você que está lendo esse post lindo maravilhoso que nem sei pq tou ensinando essas coisas, não dá bobeira e uns LERDOS e sem o que fazer descobrir umas coisas dessas e fazer o que eu fiz e ainda ensina para os outros!


TRATANDO CAMPOS:

O principal do tratamento são as aspas simples sem dúvida, e em 2° lugar vem os erros que podem ocorrer no HTML, ou seja: < e > !!!

Function CorrigeByKILLING(str)
str = replace(str,"'","`")
str = replace(str,"<","&lt;")
str = replace(str,">","&gt;")
End Functio

como usar de meios MALICIOSOS os símbolos < e > ????

<script>window.location="meuSite.com.br"</script>
<script>alert('BURRO, NÃO SABE NEM PROGRAMAR')</script>

TA BOM?

Agora você tem que pensar em outras coisas como por exemplo:
seu campo do bd eh um campo CHAR(250), ou seja o máximo de caracteres que pode ter eh 250, se eu meto no campo para cadastrar 251 de maldade vai ocorrer erro, que vai dar o nome da coluna, que vai mostrar que você usa MySQL e assim por diante valew?????

aí MOD's, vocês jká me conhecem, a galera antiga me conhece qq coisa aí DESCULPA O POST, mas foi o POST de despedida, eu vou entrar aqui soh de vez em quando VALEW GALERA?

E SÓ PARA EXPLICAR:
Eu aprendi isso em um site construído por um AMIGO DA NET meu, que me ensinou muitas coisas de ASP quando eu estava começando, e tinha estes erros, eu invadi uns 3 sites dele assim, no mesmo dia comuniquei ele e ele arrumou, OU SEJA:
Se você for fazer algo que vá danificar os outros não o faça, mas se for HACKEAR alguma coisa, que seja para dizer ao dono que o site dele está com erro, e ENSINE ele a corrigir o erro, É muito mais bacana, prova que você sabe HACKIAR, ou seja que é bom, e ainda prova que é humilde, e a recompensa é muito maior BLZ??

ABRAÇOS À TODOS E UM FELIZ 2005 !!!
Esse post é meu presente de feliz ano novo, nunca pensei que ia ensinar essas coisas para os outros.........
BAH

Bom tem um topico ái destacado falando sobre segurança e injeção SQL.

Acredito eu que apenas dando replace em apostrofes. (Caso MySQL por \' , caso MSSQL por '') já resolva. Agora no caso do <, acho mais util utilizar o HTMLEnconde pois ele já faz todo o trabalho dificil. Só apoiando mais ainda e reforçando essa questão de segurança em MySql, o MD5 pode ser de grande ajuda. Se vc na hora de salvar utilizar:
insert into users values (1, usuario1, MD5('senha1'))

E na hora de abrir:
select * from users where login='" & login & "' and senha = MD5('" & senha & "')"

Acredito eu que MD5 seja o mesmo método de encriptação desses foruns de hoje em dia. (Me corrijam se eu estiver errado)

Dai realmente não vai ter como descobrir a senha, achei esse um ponto bem interessante q, se existe no SQL Server, eu pelo menos desconheço.
MCAD, MCP

#60 doltom

doltom

    12 Horas

  • Usuários
  • 219 posts
  • Sexo:Não informado

Posted 08/01/2005, 11:30

para datas,

ao meu ver o melhor é setar campo do tipo VARCHAR(50)

Depois voce pode gravar ate 2 tipos de data:


ex:

ex1 = FormatDateTime(now(),1)
ex2 = FormatDateTime(now(),2)



nao tem segredo
Assinatura editada

Por favor, somos um forum sério, faça uso de palavras mais apropriadas em sua assinatura.




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq