Executando verificação de segurança...
1

Como fazer um sistema de hospedagem de imagens em PHP de forma segura?

Boa tarde pessoal!

Então, eu estava querendo fazer uma parte do meu Saas voltado pra hospedagem de arquivos em formato de imagem, png, jpg, esse tipo...

Mas estava preocupado na parte de segurança, fazer um input do tipo de arquivo e permitir que imagens sejam criadas e enviadas pra nossa hospedagem, tem algum grande perigo nisso? são literalmente arquivos enviados do computador de uma pessoa pra nossa hospedagem

Quais são as melhores formas de fazer uma verificação segura e um tratamento dessas imagens para garantir que nenhuma dela seja de algum tipo maliciosa? alguma dica em relação a isso? quero poder permitir que as pessoas façam hospedagens apenas de imagens no meu sistema, mas tentando garantir ao máximo a segurança do sistema em relação as imagens enviadas, se elas são realmente imagens ou algum outro arquivo camuflado ou infectado

Existe alguma forma simples de implementar isso? sei que é dificil ter algo 100% seguro, mas queria fazer isso de uma forma que evitasse ao máximo problemas desse tipo

Carregando publicação patrocinada...
1

Se você usa Laravel, você pode primeiro restringir o tipo de arquivo pelo Form Request.
Ele faz uma verificação antes de entrar no método do controller. Aí você ainda pode criar uma trait ou classe que faça mais verificações se a imagem é válida etc. Agora, se você está fazendo um projeto em PHP e não é com Laravel, não sei em que mundo você está vivendo rsrsrsrsr.

Outras questões... Seria tipo um Google Drive? Se sim, por que alguém contrataria ele e não o renomado/famigerado Google?

Outra, imagem é um negócio que ocupa bastante espaço, mesmo otimizando para webp e redimensionando. Como que será cobrado? Vai cobrar por número de imagens ou espaço em disco? É mensal ou uma vez apenas?

Talvez, dependendo da ideia do seu projeto, consumir uma api de algum storage e salvar apenas o token do cliente e ele pagar o espaço direto pro storage conforme ele usa... Quem sabe essas perguntas te acenda uma lâmpada na cabeça e surja uma melhoria aí.

1

a ideia não é exatamente fazer um google drive ou coisa do tipo, só que em certas partes do sistema a oessoa pode utilizar imagens

inicialmente eu pensei em usar campos com URl tioo "Insira a url de suas imagens" mas isso não é tão pratico como um input file, por isso queria permitir um jeito fácil das pessoas adicionarem imagens mas de uma forma que não comprometa o meu sistema com algo infectado

a ideia não é deixar cada pessoa hospedar 100 200 imagens, elas só usariam coisa de 5 ou 10 mais ou menos, então o espaço não seria tanto problema, minha maior preocupação é na parte da segurança

a cobrança é no sistema de creditos, pagar o que utilizar, queria fazer um file upload minimamente seguro tratando as imagens bem

Sim eu uso PHP puro, também não sei ao certo em que mundo estou vivendo mas sempre preferi assim kkkkkk

1

Tenho aplicações com upload de imagem assim com Laravel, super fácil de implementar, recomendo. Só que depois de experimentar, não vai voltar mais para o php puro. Laravel sim é segurança na aplicação, já sofri ataque e ele segurou bem demais.

1

Silvestrine me recomenda algum curso bom de Laravel? tô passando longe de cursos do tipo: Vamos construir esse App em 4 horas estilo Rockeseat, quero algo com base sólida e direção.

1

E o pessoal da Rocket em, sempre odiaram php e agora estão amando... Isso se chama dinheiro, vendedores de curso. O curso deles de php é extremamente raso, não te dá a base mínima de php e já parte para o mínimo de Laravel também.

Vou te passar alguns links legais pra você aprender de verdade, tanto grátis, quanto pago.

Um curso pago que recomendo na udemy é o Laravel 11 do João Ribeiro, aproveita em quanto tem o desconto. Se você não tem a base de php, php orientado a objetos e mvc, reconendo você fazer mais um outro curso dele também que é o Desenvolvimento Web Compacto.

Ou seja, por 50 conto você vai ter dois excelente conteúdos pra estudar. Agora, se você não puder de alguma forma adquirir, aí vai ter que ralar com os grátis, então vamos a lista:

Basicamente esses links vão te dar uma boa noção sobre Laravel e te permitir avançar com as próprias pernas. A documentação é sua melhor amiga, aprenda a tê-la consigo sempre. Invista no estudo de inglês, isso vai te possibilitar a ver conteúdos da gringa. E entre em alguns servidores de comunidade Laravel no discord, tem do Tio Jobs e do Beer and Code, sempre tem gente lá que ajuda a sanar suas dúvidas.

No mais, é muita força de vontade e estudo, mas vale a pena.

2

A base eu tenho, nunca pago pra aprender a base, MVC, POO, Repository, Injeção de Depedência..., isso eu já aprendi como autodidata. Tô atrás mesmo é de conteúdo de Laravel bem massa saca? Valeu ótimo conteúdo Silvestrine, vou ir nos cursos free mesmo, meu dinheiro tá contado a dedo, o negócio anda difícil por aqui.