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

a obfuscação foi usada para garantia da não reutilização do meu código além de "proteger" que façam pequenos ataques em massa ao banco de dados criando vários bancos no nosso sistema. Essa segurança não é valida para mts casos, mas nesse ai a ideia foi boa.

vai parecer estranho, mas aí temos um body especial que se não estiver no fetch não é criado o banco, isso tudo por segurança.

Sobre o Download do .zip, é sim preciso pela questão dos módulos. Eu poderia fazer com que a fsdb tenha integrado esses módulos em seu package.json e que eles sejam instalados no projeto ao mesmo tempo que ela, porém os usuários precisariam adicionar um script especial na package.json de seu projeto para o uso de novos bancos

"scripts": {
    "fsdb": "node node_modules/fsdb.js/services/createBank.js"
}

executando assim com

npm run fsdb

mas pesaria mais na instalação, já que precisaria baixar mais módulos. Por isso a .zip foi a melhor escolha.

Obs: Pretendo sim melhorar esses sistemas. Como meu perfil do Github diz: "I always have great ideas in the shower." e tive ótimas ideias no meu ultimo banho kkkk

Carregando publicação patrocinada...
1

Sugiro você validar qualquer dado sensível ou restrição de acesso via back end, nunca no client, nem mesmo obfuscando código.

Não sei onde você está hospedado seu server, mas em caso de phishing, spam, DDos ou qualquer outra coisa, valide o acesso pelo servidor. Tu pode bloquear o acesso pelo ip, token de acesso e outras coisas.

E mais uma dica/sugestão, não faça seus usuários baixarem um arquivo zip com um node_modules e um index.js obfuscado. Isso tira toda a credibilidade do projeto. Sugiro você refatorar toda essa parte e tornar as coisas mais claras.

Se seus usuários quiserem burlar ou fazer ataque em massa no teu server, eles vão. Nem o Google, Facebook e outras cambadas estão livres disso.

E não se preocupe se vão reutilizar seu código, copiar ou etc. Se fizerem isso, encare como uma homenagem, porque você fez um trabalho digno de cópia. (no bom sentido claro).

Arrume esses detalhes e dê um exemplo de como usar o teu banco de dados (sem ter que baixar zip nenhum) que vai ficar show.

1

Ok, eu tive uma ideia enquanto já estava deitado e prestes a dormir e vim codar, ainda vai conter prováveis bugs, mas o resultado ficou assim:

  • Apartir do momento que usarem o "connect" do módulo é verificado se existe na pasta local dentro de um .json que é automaticamente baixado pela fsdb o seguinte item: createdBanks, caso ele exista, ok, o código não será executado novamente, caso não, partil criar o sistema de criação de contas no projeto do usuário.
  • Esse arquivo que foi passado para a "main" do projeto nomeado de saved é o antigo arquivo no seu formato original, sem ser obfuscado ( e até melhorado ).

  • Como mostrei o código, da para ver que ele pega a package.json e adiciona um script da fsdb, que executa o arquivo de criação

Por fim...

  • Os arquivos acabaram ficando assim, o uso da pasta de downloads para a CDN, uploads também para a CDN e o arquivo "fsdb.js" criado pelo código.

Sacrifício

  • Eu acabei fazendo o sacrifício de instalar os módulos automaticamente....

Obrigado pelo seu Feedback e ajuda com o projeto, caso tenha mais algum comentário, faça!
Seu feedback e de todos são bem vindos. Assim como o próprio Deschamps diz: "Levem críticas como algo construtivo."

Amanhã / Hoje farei o envio para o Github e atualização nas documentações.

1

Entendo perfeitamente oq diz, obrigado por escrever isso e vou lhe dar um retorno assim que eu modificar esse "ambiente de criação". Caso queira também pode dar uma estrelinha na Github para ser notificado, além de que também irá me ajudar!

Minha ideia é transportar isso e deixar o mais usual possível, assim como disse, usar algum script de execução via npm run seria uma boa ideia, porém vem a questão de módulos...

Obrigado pelo seu feedback.

1

Fora que pode conter qualquer coisa nesse script obfuscado e dentro da node_modules. Não passa confiança.

E não foi tão dificil fazer uma engenharia reversa nesse index.js

1

Sim, sim, irei tentar melhorar isso.

Pois é, não é difícil de perceber que sim, é algo inocente, mas users curiosos podem olhar e se assustar, pensar que queremos algo a mais, sem nem fazer a engenharia reversa e ler a verdadeira "origem" do código.