Тёмный

O que é SQL injection e como resolver 

Augusto Galego
Подписаться 38 тыс.
Просмотров 9 тыс.
50% 1

📚 Livro para entender estruturas de dados e algoritmos: amzn.to/4bYu4VE

Опубликовано:

 

8 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 73   
@michelpaiva5800
@michelpaiva5800 4 месяца назад
Essa solução de limpar o input não é ideal, digamos que vc que vc tem um campo de texto livre em que o usuário pode inserir qualquer carácter, essa solução alteraria o input. O recomendado para raw queries é apenas usar queries parametrizadas que separam os dados dos comandos a nível de Engine do banco, também conhecidos como prepared statements e vc ja ta usando isso desde o começo quando usa "values (?, ?)", isso já previne injection. O problema seria se vc tivesse algo como: "INSERT INTO users (name, email) VALUES (" + name + "," + email +")".
@gabrieljose7041
@gabrieljose7041 4 месяца назад
Vídeo bem legal e direto ao ponto!!! Mas só queria comentar sobre a parada de não falar muito sobre como seria feita a sanitização do sql, eu entendo e concordo que o uso de uma lib externa seria a melhor escolha, mas o conhecimento vindo de como esse processo da própria lib é feito é muito bom pra quem está aprendendo, ensina muito e ajuda bastante tbm a diminuir o medo de sql injections como é o caso. Contudo, tbm entendo q pode não ser o intuito do vídeo, mas seria um conteúdo muito bom.
@rrsrjspa
@rrsrjspa 4 месяца назад
Trabalho com SQLAlchemy e gosto muito.
@wallace4337
@wallace4337 4 месяца назад
eu costumo usar ambos nos meus projetos, ORM e SQL. ORM quando eu quero coisas mais simples, e SQL quando eu preciso fazer um query mais complexa
@joaoguilhermezati6327
@joaoguilhermezati6327 4 месяца назад
Boa, aqui tb
@okarluz
@okarluz 4 месяца назад
0:24 Dei uma risada sincera
@ulyssesmoura4890
@ulyssesmoura4890 4 месяца назад
O caos que esse Oi tudo bem causou hahahahaah
@DevsVult
@DevsVult 4 месяца назад
Do nada né kkkkk
@Lucas-pw2xx
@Lucas-pw2xx 3 месяца назад
foi do 0 ao 100 mt rápido kkkkkk
@felipeoriani
@felipeoriani 4 месяца назад
Excelente vídeo Augusto. Não conheço a fundo o ecosistema de Python, mas acho importante destacar que estas estratégias provavelmente utilizam nos bastidores os `bind parameters`, que é algo que melhora a saude do banco de dados como um todo (performance por conta dos planos de execução reaproveitaveis, segurança evitando o SQL injection e Integridade para garantir os dataTypes corretos). Para quem não conhece, vale a pena a leitura do tópico, podendo variar a depender do RDBMS.
@arthuralves2509
@arthuralves2509 4 месяца назад
A ORM do Django é uma delicinha.
@leofranca4286
@leofranca4286 Месяц назад
Tava pensando nisso quando ele reclamou do ORM hahahah
@gustavofelipe9437
@gustavofelipe9437 4 месяца назад
a ORM do Django é uma delicinha
@MrRodrigorrch
@MrRodrigorrch 4 месяца назад
Fala mais sobre ORM =)
@felipeoliveira9512
@felipeoliveira9512 4 месяца назад
to lendo isso em 2024 e me perguntando... existe algum sistema ainda vulneravel a SQL injection? pq acho que qualquer ORM de qualquer framework ja resolve isso... sera que alguem ainda faz raw SQL? talvez se precisar de performance mas se a pessoa tem ideia disso entao pelo menos um addslashes ela deve saber... honestamente, alguem que faz um sistema vulneravel a SQL Injection em 2024 deveria se preocupar tbm com "back-end language injection" e JS for front-end injection tbm... mas em resumo, sera que isso ainda acontece?(eu perguntando sabendo que a resposta e sim, sempre tem um iluminado)
@nivaldobrasil
@nivaldobrasil 4 месяца назад
o pior de tudo é o zé DBA deixar o user com permissão DDL. Mas do jeito que as coisas estão, esse tipo de vídeo é necessário p ilustrar.
@thKaliDev
@thKaliDev 4 месяца назад
desculpa a palavra... existe pra caralho
@pauloabreu4912
@pauloabreu4912 4 месяца назад
os .gov infelizmente...
@thKaliDev
@thKaliDev 4 месяца назад
não só os gov, tem vários ambientes po..
@herobrayneuchiha9304
@herobrayneuchiha9304 4 месяца назад
Eu aprendendo d.s. pelo Senai sou muito capaz de fazer isso!
@nicholastn
@nicholastn 4 месяца назад
Trabalhando com Rails, todos esses gaps de ORM ficam mais difíceis de acontecer.
@thiagorodrigo1498
@thiagorodrigo1498 4 месяца назад
Adoro seus conteúdos Augusto!! Muito obrigado por compartilhar! Seu formato de videos rápidos é tao bom quanto os videos mais longos!!! Uma dúvida, o que é "sanitizar"?
@leandro_adrian
@leandro_adrian 4 месяца назад
É basicamente você fazer uma limpeza/filtro nos dados de entrada de um formulário, removendo os caracteres indesejados... como < e >, que podem ser interpretados como codigo HTML e as aspas simples e duplas, que podem ser consideradas instruçoes SQL
@aKdn1982n
@aKdn1982n 4 месяца назад
Ótimo vídeo, poderia falar sobre Session Hijacking em um próximo?
@patrickoliveira6161
@patrickoliveira6161 4 месяца назад
como resolver sql injection: não usar sql
@williamxsp
@williamxsp 4 месяца назад
@@naf9392 que que o PHP tem a ver com SQL injection?
@thiagorodrigo1498
@thiagorodrigo1498 4 месяца назад
Como se cria um sistema que armazena dados sem SQL? Desculpa a pergunta, sou novo.
@theusoff__
@theusoff__ 4 месяца назад
@@thiagorodrigo1498 Você pode usar bancos de dados não relacionais(NoSQL) para fazer a persistência de dados da sua aplicação dependendo do tipo de projeto, mas realmente projetos grandes "vão" usar ainda SQL. O normal hj em dia é usar os 2 , ai o NoSQL fica pra deixar as aplicações mais rápidas em acesso a dados específicos, por conta da rapidez de bancos de dados NoSQL
@thiagorodrigo1498
@thiagorodrigo1498 4 месяца назад
O NoSQL tbm tem esses problemas de injection?
@naf9392
@naf9392 4 месяца назад
@@thiagorodrigo1498 Existem vários bancos de dados NoSQL
@MatheusSilva-lh3uh
@MatheusSilva-lh3uh 4 месяца назад
Fala mais sobre ORMs!
@vitvitvitvitvitvitvitvit
@vitvitvitvitvitvitvitvit 4 месяца назад
sinceramente só nao uso ORM pq eu acho horrível fazer queries dinâmicas com select, pq geralmente precisa ter parâmetros dinâmicos (paginação, offset, where, joins, etc). mais fácil fazer puro e sanetizar o input
@joelmattos7276
@joelmattos7276 4 месяца назад
Fico feliz em descobrir que eu não sou o unico que detesta trabalhar com orms e prefere mil vezes escrever o sql na mão...
@coffee-is-power
@coffee-is-power 4 месяца назад
Se usares a biblioteca sqlx no rust, a aplicação e literalmente invulnerável a SQL injection porque o macro `sqlx::query!` apenas aceita string literals e te força a usar os parâmetros com '?' em tempo de compilação
@TalesIagoBatista
@TalesIagoBatista 4 месяца назад
Cara, muito bom seus videos! Mas ajuda nois ai, da um up no volume do mic! kkkk Meu fone é ruim, mesmo tudo no max fica bem baixinho.
@tarciomeireles3194
@tarciomeireles3194 4 месяца назад
Só usar Prepared Statement
@zecapaugordinho-bl4xt
@zecapaugordinho-bl4xt 4 месяца назад
Otimo video, mano galeguinho !!!!
@yuri_cmps
@yuri_cmps 4 месяца назад
Monstro demais
@sama_gotec
@sama_gotec 4 месяца назад
Eu sempre usei ORM no Nodejs, especificamente o Sequelize. Para noSQL, uso Mongoose de ODM. E sinceramente, depois que descobri isso, não consigo viver sem, fazer SQL direto no código, nunca mais. kkkkk
@minimovzEt
@minimovzEt 4 месяца назад
não escrever SQL pode ser suficiente para um CRUD, pra fazer operações de ETL é outra história.
@herobrayneuchiha9304
@herobrayneuchiha9304 4 месяца назад
Sou dev iniciante, devs antigos concordam com não usar orm e apenas usar biblioteca para sanitizar?
@rafael_tg
@rafael_tg 4 месяца назад
Valeu pelo video. To escrevendo um código para avaliar equações, tipo inputs-> expression = "altura*2 + largura + 4", values = {"altura":12, "largura":21}. No começo ia usar eval direto mas corre o risco do usuário fazer maldade também kkkk. Sabe se tem risco em usar ast.parse(expression, mode='eval') e verificar a instancia de cada node?
@felipezandonadi20
@felipezandonadi20 4 месяца назад
Sabe o que um esqueleto caipira falou para o outro? O ssô
@arthurschur
@arthurschur 4 месяца назад
Mano pode ensinar sobre rest api e como construir uma pra CRUD?
@brazilianmmalegends
@brazilianmmalegends 4 месяца назад
Seu canal me ajuda mto na facul irmão abbbcs
@joaomenezes8
@joaomenezes8 4 месяца назад
Galeguinho, muito bom o vídeo. Qual app você tá usando pra gravar?
@matheusverri3402
@matheusverri3402 4 месяца назад
Fala meu amigo! Estou procurando a ferramenta que ele usa para deixar a câmera ao lado da gravação da tela. Sabe me dizer qual é?
@dofstein
@dofstein 4 месяца назад
O nome disso -> ' "
@Brunoaugustosp
@Brunoaugustosp 4 месяца назад
essa lib bleach foi descontinuada?
@felipembraga
@felipembraga 4 месяца назад
Qual software voce usa para essas apresentações? Valeu! Otimo conteúdo
@marcoo-hg8he
@marcoo-hg8he 4 месяца назад
Excalidraw
@felipembraga
@felipembraga 4 месяца назад
@@marcoo-hg8he Valeuzão!
@kevingood10
@kevingood10 4 месяца назад
hj é dificil ter sql injection pq td mundo usa orm ou algum querybuioder
@CrustyMusty101
@CrustyMusty101 4 месяца назад
Quando você escrever sql, basta jogar água sanitária em cima. Entendi!
@kevingood10
@kevingood10 4 месяца назад
isso tinha mt no php kkkk
@kacyos_kleyton
@kacyos_kleyton 4 месяца назад
eu dps de ver esse vid: '-'
@reznew2661
@reznew2661 4 месяца назад
só da os chola defendendo ORM nesses comentários. deus me livre
@joelmattos7276
@joelmattos7276 4 месяца назад
SIM KKKKK
@PintoDonald
@PintoDonald 4 месяца назад
Ué, mas usar ORM ou não vai depender de cada projeto. Um bom arquiteto deve saber quando ou não usar
@FWCODING
@FWCODING 4 месяца назад
Projeto pequeno e facil abstração, dahora usar, projeto complexo e grande, ja fica osso, porque representar queries em forma de objetos fica meio paia, eu diria que é 80/20...
@PintoDonald
@PintoDonald 4 месяца назад
@@FWCODING mas lembrando que ORM também permite executar queries mais complexas na mão
@pauloabreu4912
@pauloabreu4912 4 месяца назад
@@FWCODING "representar queries em forma de objetos fica meio paia", O contrário disso é uma economia porca, simplesmente inserir no banco de dados pode ser mais rápido, mas vai ficar muito desorganizado com o tempo, e o ORM também permite executar querie SQL pra casos específicos.
Далее
Porque alguns devs ODEIAM else?
10:51
Просмотров 78 тыс.
Solving one of PostgreSQL's biggest weaknesses.
17:12
Просмотров 193 тыс.
Fake watermelon by Secret Vlog
00:16
Просмотров 9 млн
I tried 8 different Postgres ORMs
9:46
Просмотров 409 тыс.
Quando NÃO usar SQL?
10:59
Просмотров 23 тыс.
SWITCH é mais rápido que IF ELSE?
8:30
Просмотров 22 тыс.
How Do Linux Kernel Drivers Work? - Learning Resource
17:02
I've been using Redis wrong this whole time...
20:53
Просмотров 356 тыс.
O problema que só 1% dos devs consegue resolver
18:25
Microservices with Databases can be challenging...
20:52