Ir para conteúdo
Fórum Script Brasil

Robert Souza

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Robert Souza

  • Data de Nascimento 14/11/1992

Contatos

  • Website URL
    https://robertsouza.com.br

Perfil

  • Gender
    Male
  • Location
    Belo Horizonte
  • Interests
    Desenvolvimento de sistemas, arquitetura de soluções, infraestrutura de redes em TI, computação em nuvem, segurança da informação, blockchain, consultoria e palestras.

Robert Souza's Achievements

0

Reputação

  1. @Bruno Albérico porque você precisa captar essas informações de quem acessa o seu site? Essas informações de IP e localização sem consentimento do usuário violam a LGPD e pode gerar alguns problemas. Normalmente você capta essas informações da área logada, ou seja, quem tem algum relacionamento com você, um usuário, resolvendo parcialmente o primeiro ponto apresentado, e trazendo mais possibilidades de proteção. Se você quer métricas, vou dar um exemplo, meu site pessoal Robert Souza capta os dados através do Google Analytics, nele consigo verificar a região, a fonte de tráfego e dezenas de outras informações de maneira prática e fácil. Mas focando no seu problema, existe algumas formas de minimizar isso, lembrando que a guerra contra bots é bem similar a guerra contra o spam, não é algo simples, é um desafio até mesmo para grandes empresas. Se você tivesse captando informações em uma área logada, uma proteção via Recaptcha V3 do Google, poderia ser suficiente para minimizar bastante esses acessos, no entanto, como parece ser uma captura de todos usuários, você pode ir pelo caminho que a maioria dos bots são de fora do pais(devido ao baixo custo de infraestrutura) e a maior parte dos seus clientes devem ser do Brasil, sendo assim você pode realizar um bloqueio via htaccess do acesso ao seu site. Esse site pode ajudar você a criar um htaccess com esse fim, https://www.countryipblocks.net/acl.php Outra alternativa, ainda utilizando o htaccess é bloquear user-agent conhecidos de bots, exemplo: RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] RewriteCond %{HTTP_USER_AGENT} ^Zeus RewriteRule ^.* - [F,L] Mas essas proteções genéricas são bem ineficazes de modo geral, uma solução mais complexa e de baixo custo seria a Cloudflare, com ela, você conseguiria verificar o volume de bots, user agent e localidade desses acessos, podendo criar regras de bloqueio para eles, para que sejam bloqueados pela Cloudflare sem ao menos conseguir acessar o seu site. De qualquer forma, falta um pouco de informação das suas necessidades e da arquitetura atual, mas espero ter conseguido contribuir ao menos com um norte para suas duvidas.
  2. Olá @Adampt, vamos lá, primeiramente respondendo sua pergunta, vamos ao "gambiarres": Você pode fazer dois laços de repetição, começando assim: Laço de repetição(While) de 1 a 7 para acessar a entidade maior(dias da semana) e dentro outro laço de repetição acessando a entidade menor que são os itens. <div class="heading"> <h1> pratos do dia - <?php echo $lojan['loja'] ?></h1> </div> <?php $i = 1; while(i<=7) { switch ($diasemana) { case 1: echo "Domingo"; break; case 2: echo "Segunda-feira"; break; case 3: echo "Terça-feira"; break; case 4: echo "quarta-feira"; break; case 5: echo "quinta-feira"; break; case 6: echo "sexta-feira"; break; case 7: echo "sábado"; break; } $sql = mysqli_query($conectar, "SELECT * FROM tbl_pdia WHERE pdialoja='$loja' and pdiasemana='$i' ORDER BY pdiasemana ASC"); while ($row = mysqli_fetch_array($sql)) { $img = $row['pdiaimg']; $descricao = $row['pdianome']; $caminho = "tablemenu/img_menu/"; $preço = $row['pdiapreco']; echo '<div class="card"> <div class="content"> <div class="imgBx"><img src=' . $caminho . $img '></div> <div class="contentBx"> <h3><?php echo $descricao ?><br> <br> <p class="preço"'. $preço . "€" . '</p> </h3> </div> </div>'; } } ?> Uma possível melhoria, como os dias da semana são fixos, você poderia dar um SELECT, individualmente por dia da semana, para não precisar de dois laços de repetição, ou seja, você faz seu SELECT dando um WHERE especificamente nos itens daquele dia da semana, assim, você teria acesso aos dados do dia da semana, poderia exibi-los normalmente e no próximo dia você filtra eles novamente. Agora um pouco fora do tópico, é até difícil contribuir com uma tecnologia tão antiga, recomendo que tente utilizar algum framework como o Laravel, ou pelo menos atue com PDO, tanto por questão de segurança, quanto por questão de aprendizado mesmo. De qualquer forma, espero ter ajudado, boa sorte.
×
×
  • Criar Novo...