{"id":182,"date":"2022-12-13T22:00:11","date_gmt":"2022-12-14T01:00:11","guid":{"rendered":"https:\/\/www.criptografarphp.com.br\/site\/aprenda-a-implementar-o-google-recaptcha-para-evitar-postagens-roboticas\/"},"modified":"2023-03-30T16:06:39","modified_gmt":"2023-03-30T19:06:39","slug":"aprenda-a-implementar-o-google-recaptcha-para-evitar-postagens-roboticas","status":"publish","type":"post","link":"https:\/\/www.criptografarphp.com.br\/site\/aprenda-a-implementar-o-google-recaptcha-para-evitar-postagens-roboticas\/","title":{"rendered":"Aprenda a implementar o Google reCAPTCHA para evitar postagens rob\u00f3ticas"},"content":{"rendered":"\n<p>Saiba porqu\u00ea implementar o Google reCAPTCHA para evitar mensagens bot .NET Core dicas Marcius Bezerra&#8230;<br \/>\n<iframe src=\"https:\/\/www.youtube.com\/embed\/41snT3RQdGY\" width=\"580\" height=\"385\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\n00:40:00<br \/>\nSaiba porqu\u00ea implementar o Google reCAPTCHA para evitar mensagens bot .NET Core dicas Marcius Bezerra&#8230;<\/p>\n<p>E a\u00ed [M\u00fasica] Oi e a\u00ed Carlos tudo bem com voc\u00eas hoje vamos para mais uma dica de dot net Core especificamente asp.net Core mvc n\u00e9 onde n\u00f3s vamos ver como \u00e9 que voc\u00ea incluiu o Google repete share na sua na sua aplica\u00e7\u00e3o e vencer o recaptcha \u00e9 s\u00f3 aquele aquelas perguntas que s\u00e3o feitas tipo \u00e9 quantas quantos \u00f4nibus t\u00eam nessa tela quantas bicicletas tem marcas bicicletas alguma coisa tipo que ela ele refor\u00e7a a seguran\u00e7a para evitar que usu\u00e1rios do seu site crie rob\u00f4s Ah e assim comprometa a performance do seu servidor n\u00e9 ou at\u00e9 derrubar um servidor Ent\u00e3o vamos l\u00e1 vamos criar aqui uma nova aplica\u00e7\u00e3o da cidade core.net mil Se voc\u00ea d\u00e1 o comando como eu sempre repito das voc\u00ea d\u00e1 um comando apenas lote net New ele vai mostrar as aplica\u00e7\u00f5es principais as mais conhecidas n\u00e3o \u00e9 voc\u00ea v\u00ea aqui n\u00f3s temos console web Api para voc\u00ea criar uma aplica\u00e7\u00e3o web vazia rezou n\u00f3s temos aqui v\u00eddeo no canal para explicar sobre o riso tamb\u00e9m e blazer o server e cresce liebe n\u00e9 se voc\u00ea digitar tamb\u00e9m aqui vamos limpar show aumentar aqui n\u00e9 vamos ver como \u00e9 que \u00e9 o tamanho acho que t\u00e1 bom aumentei demais tiver pronto se voc\u00ea daum.net New &#8211; &#8211; list Ent\u00e3o voc\u00ea vai ter mais op\u00e7\u00f5es que s\u00e3o v\u00e1rias op\u00e7\u00f5es inclusive voc\u00ea pode baixar essas op\u00e7\u00f5es mas o que vai n\u00f3s vamos criar e aplica\u00e7\u00e3o mvc n\u00e9 isso porque \u00e9 mais comum voc\u00ea \u00e9 o mais comum n\u00e9 eu diria assim e n\u00f3s vamos incluir o riquix\u00e1 nessa nesse tipo de aplica\u00e7\u00e3o que \u00e9 o que o mais comum a rede seja o tipo de aplica\u00e7\u00e3o do Atl\u00e9tico olhe mais comum por a\u00ed na web n\u00e9 se voc\u00ea quiser \u00e9 conhecer sobre os outros tipos de projetos e pode acessar D\u00e1 uma pesquisada no canal n\u00f3s temos o conte\u00fado abrangente com v\u00e1rios v\u00eddeos que explica j\u00e1 falando sobre consuli sobre mvc e sobre Blazer sobre Razor pages e acho que eu posso t\u00e1 esquecendo alguma coisa mas falando sobre v\u00e1rios desse tipo sair n\u00f3s n\u00f3s j\u00e1 cont\u00e9m planos aqui voc\u00ea pode dar uma pesquisada Ent\u00e3o vamos limpar aqui n\u00f3s vamos dar um em 16 n\u00e9 Vamos ter uma aplica\u00e7\u00e3o e vencer vamos dar um dot net new o mvc e eu posso colocar um menos o que significa o out o nome que eu vou dar essa aplica\u00e7\u00e3o ent\u00e3o eu vou dar aqui o nome por exemplo \u00e9 Google r\u00e9ptil riquix\u00e1 Vamos colocar aqui mai\u00fasculo bom ent\u00e3o vamos limpar aqui e j\u00e1 vamos entrar aqui na pasta e vamos abrir vamos tentar de novo Vamos abrir aqui o nosso J\u00e1 estamos na paix\u00e3o Vamos abrir o nosso colete e abrimos Esse \u00e9 o terminal ele j\u00e1 abriu aqui automaticamente ent\u00e3o limpa Olha que ocorre o seguinte Bom primeiramente n\u00f3s vamos chover aqui n\u00f3s vamos para a documenta\u00e7\u00e3o n\u00e9 o riquix\u00e1 ele se voc\u00ea for aqui na p\u00e1gina google.com como t\u00e1 aqui www.google.com\/aqui se voc\u00ea colocar por exemplo \u00e9 rico ou rico tischer admin voc\u00ea chegar nessa p\u00e1gina de mim se voc\u00ea tem aquela de Minas administra\u00e7\u00e3o do recaptcha eu j\u00e1 tenho um criado nesse bot\u00e3o demais voc\u00ea cria um n\u00f3s vamos criar um aqui n\u00f3s vamos utilizar a vers\u00e3o 2 do riquix\u00e1 porque \u00e9 a mais utilizada n\u00e3o \u00e9 \u00e9 se eu n\u00e3o me engano At\u00e9 onde eu sei \u00e9 a mais utilizada \u00e9 a mais antiga EA mais utilizada a tr\u00eas \u00e9 um pouco mais complexa e talvez numa pr\u00f3xima v\u00eddeo aula e a gente vai explicar tr\u00eas Ent\u00e3o voc\u00ea vai \u00e9 colocar aqui no dom\u00ednio que vai identificar a etiqueta se voc\u00ea quiser alguma ajuda ele mostra aqui use um marcador para facilitar a identifica\u00e7\u00e3o do futuro \u00e9 mais para voc\u00ea saber que site \u00e9 esse n\u00e9 ent\u00e3o vamos colocar aqui Cold total e voc\u00ea pode colocar o seu site a\u00ed o qualquer coisa que identifique aqui eu vou marcar dois e vou marcar tipo caixa de sele\u00e7\u00e3o eu n\u00e3o sou rob\u00f4 porque ele tem as op\u00e7\u00f5es tamb\u00e9m o selo recaptcha invis\u00edvel e we capture para Android tamb\u00e9m n\u00f3s vamos utilizar como n\u00f3s vamos utilizar uma aplica\u00e7\u00e3o para web n\u00e3o tivesse a primeira op\u00e7\u00e3o aqui em Vilas vamos adicionar tamb\u00e9m n\u00e3o precisa no seu caso se tiver em produ\u00e7\u00e3o voc\u00ea vai acionar o seu domingo mesmo de produ\u00e7\u00e3o como n\u00f3s vamos trabalhar em local host Ent\u00e3o n\u00f3s vamos adicionar o dom\u00ednio em \u00e9 O interessante \u00e9 uma coisa que precisa ser observada \u00e9 que \u00e9 n\u00e3o \u00e9 aceita at\u00e9 pelo menos at\u00e9 a finaliza\u00e7\u00e3o dessa aula n\u00e3o \u00e9 assim que voc\u00ea colocar local rosto aqui voc\u00ea tem que colocar 127.0 1.041 n\u00e3o pergunte ao Google que eu n\u00e3o sei porque \u00e9 que foi assim a gente vai colocar aqui https 127.0 1.0.1 que \u00e9 porque se esse domingo n\u00e3o tiver adicionado significa que vai dar um erro voc\u00ea n\u00e3o vai poder utilizar o recaptcha mas como nos testes que a gente vai fazer a gente vai utilizar o esse domingo que \u00e9 o local host n\u00e9 ele n\u00e3o funciona no local roxo a gente vai ter que mudar o pre\u00e7o do meio aqui n\u00f3s vamos mudar manualmente para n\u00e3o perder tempo n\u00e9 Ent\u00e3o voc\u00ea vai ter que colocar como ele como dom\u00ednio permitido n\u00e9 aqui e vamos aceitar os termos e \u00e9 onde \u00e9 que t\u00e1 a gera\u00e7\u00e3o de Chaves n\u00f3s vamos criar aqui essa aplica\u00e7\u00e3o aqui como que voc\u00ea t\u00e1 vendo essa mensagem de erro o que ocorre \u00e9 o seguinte na verdade aqui ele n\u00e3o quer que voc\u00ea coloca o protocolo ele quer que voc\u00ea coloca s\u00f3 o dom\u00ednio Ent\u00e3o n\u00f3s vamos \u00e9 excluir e vamos criar s\u00f3 Condom\u00ednio se voc\u00ea tiver um dom\u00ednio voc\u00ea coloca o seu domingo aqui voc\u00ea n\u00e3o pode colocar o https na frente e nem uma porta depois n\u00e9 ent\u00e3o voc\u00ea tem que colocar s\u00f3 isso aqui que \u00e9 o domingo n\u00f3s vamos utilizar eu vou adicionar aqui ele t\u00e1 dando a mensagem ainda de aqui porque ele mant\u00e9m essa mensagem n\u00e9 N\u00e3o sei se \u00e9 um bug mas ele n\u00e3o tem eu vou salvar aqui \u00f3 voc\u00ea viu que ele j\u00e1 pagou e aqui ele cria as chaves que \u00e9 importante essas aqui mas os manter esse aqui na tela voc\u00ea vai ser no caso se voc\u00ea for utilizar esse introdu\u00e7\u00e3o voc\u00ea vai ter que guardar essa chave sair n\u00e9 Ent\u00e3o n\u00f3s vamos voltar para nossa aplica\u00e7\u00e3o e vamos come\u00e7ar a codificar e n\u00f3s vamos procurar aqui o nosso \u00e9 index pontos shtml e olha eu vou executar primeiro aqui eu vou dar um coisa ficar com o dot net What&#8217;s n\u00e9 que voc\u00ea tem agora op\u00e7\u00e3o dot net Whats Antigamente voc\u00ea digitar what your voc\u00ea pode tamb\u00e9m d\u00e1 op\u00e7\u00e3o do outlet Hum mas \u00e9 o chuva est\u00e1 posto a pequena aqui bom ent\u00e3o aumentar vai ficar grande demais n\u00e9 t\u00e1 bom assim agora voc\u00ea tem a op\u00e7\u00e3o What&#8217;s n\u00e9 que significa ele ele cria ali um esp\u00e9cie live-reload n\u00e9 E hot-reload desculpa em que quando voc\u00ea modifica a p\u00e1gina ele j\u00e1 vai refletindo l\u00e1 no navegador Ent\u00e3o vamos ver se ele vai compilar direitinho e ele no caso do MEC que ele pede minha senha eu vou colocar para permitir sempre e ele j\u00e1 est\u00e1 executando Pois \u00e9 que estou aqui o \u00e9 o como n\u00f3s vamos voltar Vamos mudar essa frase \u00e9 o Welcome para por exemplo Google o Rick ch\u00e1 E a\u00ed o exemplar e pronto vamos tirar esse papo aqui conto contra o comando esticar aqui no meu caso n\u00e9 E n\u00f3s vamos criar agora aqui primeiramente primeiro de tudo a gente tem que \u00e9 importante a gente tem que importar o script do Google para que o recaptcha funcione Ent\u00e3o a gente vai ter que eu apague script aqui O que vai ter como essa src esse endere\u00e7o aqui que n\u00f3s vamos colocar isso aqui \u00e9 essencial voc\u00ea vai ter que colocar isso https os:\/\/google.com\/ [M\u00fasica] o Rick ch\u00e1 e n\u00e3o tem esse em barra \u00e9 ap.gg \u00e9 se esse script aqui \u00e9 essencial para funcionar e segundo a documenta\u00e7\u00e3o ele aconselha a cadela assim voc\u00ea tem que eu n\u00e3o expliquei como \u00e9 que voc\u00ea chega na documenta\u00e7\u00e3o ent\u00e3o a documenta\u00e7\u00e3o o seguinte voc\u00ea at\u00e9 eu vou copiar aqui esse endere\u00e7o n\u00e9 eu vou fiquei aqui alnova vou entrar no mesmo endere\u00e7o s\u00f3 que eu vou mudar aqui t\u00f4 colocando aqui \u00e9 at\u00e9 lockers. Google.com reaction e Pronto acho que \u00e9 s\u00f3 isso e aqui voc\u00ea j\u00e1 t\u00e1 na documenta\u00e7\u00e3o ent\u00e3o vamos aqui em gastar 7 pronto aqui o centro o documenta\u00e7\u00e3o e aqui voc\u00ea tem tanta \u00e1gua comenta a\u00e7\u00e3o da vers\u00e3o dois como a vers\u00e3o tr\u00eas na vers\u00e3o tr\u00eas vou desculpa na vers\u00e3o dois Voc\u00ea nota que ele quer que a gente coloca aqui o scrip e ele aconselha voc\u00ea utilizar o assim que descer n\u00e9 ent\u00e3o \u00e9 o que n\u00f3s vamos fazer aqui a gente vai colocar aqui \u00f3 assim que o Dexter no escuro no Script e agora n\u00f3s vamos ter que criar um form que vai representar o painel do Google porque quer ent\u00e3o a gente vai criar um form \u00e9 ruim quando a gente vai deixar tudo \u00e9 n\u00f3s vamos vamos trabalhar com layout por enquanto ele vai deixar vai ficar tudo realmente feio aqui ent\u00e3o o Edson vai ser a gente vai deixar em branco porque o Action ele vai para o nosso pr\u00f3prio index n\u00e9 o pr\u00f3prio index que vai renderizar essa viu voc\u00ea vai j\u00e1 entender \u00e9 o pr\u00f3prio index tamb\u00e9m do post n\u00e9 ent\u00e3o gente vai criar um m\u00e9todo o m\u00e9todo post aqui e dentro do fome \u00e9 aqui onde est\u00e1 o segredo do look at the share n\u00e9 a gente tem que criar que uma div com a classe chamada g-recaptcha chamada n\u00e3o com uma classe com o nome com esse nome n\u00e9 ent\u00e3o G vi fechar Pronto tem que ser com esse nome e aqui voc\u00ea agora vai ter que voc\u00ea vai ter que ter aqui uma no atributo chamado site King e na verdade data site que n\u00e9 e onde voc\u00ea vai preencher ele e com o seu o site aqui que voc\u00ea tem aqui que eu aqui ele retornou para voc\u00ea ent\u00e3o aqui aqui \u00e9 uma chave secreta essa chave secreta voc\u00ea vai ficar s\u00f3 com voc\u00ea voc\u00ea n\u00e3o vai dar para ningu\u00e9m e essa aqui \u00e9 que voc\u00ea vai colocar no site se voc\u00ea ficar aquele copinho para voc\u00ea ent\u00e3o ele copiou voc\u00ea cola aqui pronto e a gente vai ter que um bot\u00e3o submit n\u00e9 porque o bot\u00e3o submit porque esse bot\u00e3o j\u00e1 n\u00e3o faz parte \u00e9 porque se voc\u00ea est\u00e1 colocando um clipe de Cher significa que voc\u00ea quer validar uma vamos assim uma a\u00e7\u00e3o usu\u00e1rio ent\u00e3o aquele que eu t\u00f4 submit ele s\u00f3 vai ser s\u00f3 vai funcionar se o recaptcha quer tiver o que ent\u00e3o para que a gente se mui essa a\u00e7\u00e3o dos olhos vai criar um bot\u00e3o submit no formul\u00e1rio aqui ent\u00e3o n\u00f3s vamos criar aqui um bot\u00e3o e at\u00e9 aqui \u00f3 submit Button pronto um bot\u00e3o do tipo submit Oi e a gente vai colocar o valor dele como enviar simbolizando que ele s\u00f3 ele vai querer postar essa p\u00e1gina mas ele s\u00f3 vai poder postar essa p\u00e1gina se o ICQ chat ver o que deixa eu ver o que que t\u00e1 faltando aqui ser\u00e1 que o endere\u00e7o outro we kept aqui ent\u00e3o vamos salvar eu coloquei da tia site que n\u00e9 t\u00e1 errado ent\u00e3o vamos corrigir e corrigindo vamos ver como \u00e9 que ficou \u00f3 j\u00e1 t\u00e1 mostrando aqui voc\u00ea n\u00e3o acha que j\u00e1 t\u00e1 mostrando o like share claro que pronto e quer pixar \u00e9 s\u00f3 pra apresentar pra voc\u00eas \u00e9 isso aqui t\u00e1 perguntando motocicletas da ent\u00e3o a gente marca aqui \u00e9 at\u00e9 confuso marcar esse aqui a\u00ed vamos ver por l\u00e1 ele pediu para furar n\u00e3o sei porque \u00e9 sem\u00e1foros Ent\u00e3o vamos marcar aqui sem\u00e1foros acho que \u00e9 s\u00f3 isso como verificar passou e aquele t\u00e1 postando porque a gente n\u00e3o t\u00e1 a gente precisa falar verificar n\u00e3o \u00e9 autom\u00e1tica coisa n\u00e9 Vamos ter que verificar agora na postagem se deu tudo certo ent\u00e3o agora a gente vai para o nosso home controle. CS onde n\u00f3s temos o nosso index aqui e n\u00f3s vamos criar o nosso index do tipo post n\u00e9 porque voc\u00ea quer um d\u00e9ficit puget n\u00e9 N\u00f3s vamos criar o nosso post que ele vai entrar nesse nosso index aqui quando o form for postado One Direction result e ainda ex tamb\u00e9m com o mesmo nome \u00f3 e aqui seria um httpget n\u00e9 ent\u00e3o n\u00f3s vamos colocar agora voc\u00ea pegar \u00e9 s\u00f3 para ficar mais certo e aqui seria um http e Puxe esse index e quando ele postar \u00e9 claro que voc\u00ea \u00e9 chato n\u00e3o vai aceitar dois metros com o mesmo nome \u00e9 mas para diferenciar esse aqui ele vai ele vai ter que receber o form Qual \u00e9 o ch\u00e3o \u00e9 assim que a gente trabalha com ele caption e vai receber o fome Collection e a gente vai chamar e se for no col\u00e9gio aqui de forma col\u00e9gio e e se eu tiver errado a\u00ed voc\u00ea me desculpe que eu costumo errar muito n\u00e9 tem que tomar marcando ainda aqui o que \u00e9 s\u00f3 porque n\u00e3o est\u00e1 retornando o valor nenhum mas a gente vai retornar O que ocorre que n\u00f3s vamos ter que fazer um post para uma url que est\u00e1 definido aquela documenta\u00e7\u00e3o aqui t\u00e1 com erro tudo bem n\u00e9 quem est\u00e1 desenvolvendo na documenta\u00e7\u00e3o aqui da verifica\u00e7\u00e3o se voc\u00ea for ele \u00e9 mostra que n\u00f3s temos essa url que n\u00f3s vamos at\u00e9 copiar aqui n\u00f3s vamos ter que fazer um post pessoal RL com esses dados aqui consiga ti o seguinte \u00e9 aquela chave que s\u00f3 voc\u00ea tem n\u00e9 n\u00e3o \u00e9 aquela chave que voc\u00ea colocou no no form n\u00e9 o response \u00e9 um response que ele renderiza ele modifica \u00e9 o posto do forma ele renderiza de maneira diferente ele posta esse esse resposta gente vai j\u00e1 ver aqui e o IP do usu\u00e1rio que t\u00e1 postando n\u00e9 esse p\u00e9 aqui \u00f3 opcional Mas \u00e9 porque \u00e9 o Google quer vamos ver \u00e9 incentivar voc\u00ea A Ju t\u00e1 isso com o Google Analytics n\u00e9 de maneira que voc\u00ea al\u00e9m de resolver resolver o recaptcha se tem alguma estat\u00edsticas do seu site l\u00e1 n\u00e9 ent\u00e3o vamos l\u00e1 Bom primeiramente a gente vai ter que postar com URL comente viu Eh eu copiei essa URL aqui vai ter que dar um posto para c\u00e1 um detalhe interessante \u00e9 que esse post ele tem que ser do tipo ele n\u00e3o pode ser direito n\u00e9 Eu tentei fazer como disse n\u00e3o deu S\u00e9rgio ap talvez n\u00e3o sei se fosse antiga ela quer que seja aquele do tipo forma url-encoded n\u00e9 ele tem que ser Desse tipo a\u00ed ent\u00e3o vamos l\u00e1 E como voc\u00ea viu ele precisa dessas tr\u00eas vari\u00e1veis Ent\u00e3o n\u00f3s vamos at\u00e9 criar elas aqui que n\u00f3s vamos para ficar mais did\u00e1tico l\u00e1 ver os preencher elas que v\u00e1 uma delas \u00e9 v\u00e1 se Crist\u00e3 Ent\u00e3o vamos ver aqui o nosso Secret Vamos colocar ainda dessa maneira aqui vamos Qual \u00e9 a outra vamos pegar aqui response ent\u00e3o n\u00f3s estamos aqui no v\u00e1 response que n\u00f3s vamos preencher vazio tamb\u00e9m vamos l\u00e1 preencher ela e temos um remote e p n\u00e9 v\u00e1 remote Ip\u00ea e eu vou preencher ela tamb\u00e9m assim e para que a gente passa esse posto primeiro a gente vai ter que preencher seus variados A primeira \u00e9 bem simples que \u00e9 um Secret que na verdade aqui quando voc\u00ea foi criar \u00e9 uma das chaves \u00e9 p\u00fablico eu falei essa aqui \u00e9 a chave voc\u00ea cr\u00e9dito voc\u00ea vai copiar ela essa chave s\u00f3 fica com voc\u00ea n\u00e9 a que eu t\u00f4 mostrando porque vai ser apagado \u00c9 apenas para fazer o v\u00eddeo n\u00e9 mas introdu\u00e7\u00e3o voc\u00ea vai ter que ter muito cuidado com essa chave quem \u00e9 quem \u00e9 essa chave usu\u00e1rio do seu site ele pode simplesmente fazer com que o rob\u00f4 a gente acha poder ele \u00e9 passa pelo recaptcha \u00e9 e simplesmente n\u00e3o vai ter efeito nenhum o seu like \u00e9 de share pronto ent\u00e3o o responsivo responsive interessante porque \u00e9 o seguinte o que ocorre quando N\u00f3s criamos isso aqui \u00f3 esse essa div com a classe G tra\u00e7o we capture esse script aqui do Google ele transformou isso no input ent\u00e3o ele chega aqui nesse forma Col\u00e9gio S\u00f3 tem um problema ele ele muda o nome ele cria um G ele capte Share response e pronto o problema \u00e9 que se forme Collection Ele n\u00e3o retorna a\u00ed Segue como voc\u00ea v\u00ea aqui ele retorna o item que valores Ent\u00e3o n\u00f3s vamos mudar o nome dessa vari\u00e1vel para o esfor\u00e7o e valores n\u00e9 isso porque para gente pegar o esfor\u00e7o mesmo a gente vai ter que dar um sponsee e \u00e9 igual a response values. Force ou the fool E \u00e9 assim que a gente pega o e nesse caso o sponsee \u00e9 agora um gente tem que ela pode ser nula ou n\u00e3o n\u00e9 mas como a gente tem certeza que ela \u00e9 a vari\u00e1vel n\u00e3o \u00e9 nula Ent\u00e3o a gente vai utilizar essa maneira aqui outra coisa que a gente precisa de passar \u00e9 opcional mas a gente vai passar aqui tamb\u00e9m o IP do usu\u00e1rio que a gente vai colocar aqui Quest com outro host. Isso aqui \u00e9 o IP do usu\u00e1rio tanto que ele \u00e9 estranho aqui \u00f3 ent\u00e3o Se a gente pudesse enviar isso como Jason bastaria a gente instanciar aqui o nosso http-client n\u00e9 Pois \u00e9 provar o http Client \u00e9 igual a new e agora Super col\u00e9gio e n\u00f3s podemos fazer simplesmente \u00e9 ponto post as Jason eu poderia simplesmente colocar aqui a URL n\u00e9 o e simplesmente criar que uniu criar que \u00e9 uma classe mesmo \u00e9 um diz assim uma classe an\u00f4nima n\u00e9 uma classe an\u00f4nima e colocar aqui a resposta n\u00e9 Security response n\u00e9 e podemos fazer remote P bom s\u00f3 nesse posto a\u00ed a gente j\u00e1 resolveria mas aquele enviar com o Jason \u00e9 o grande problema \u00e9 que ap ela n\u00e3o aceita o Jason n\u00e3o sei porque talvez voc\u00ea antiga n\u00e3o sei por qual motivo ent\u00e3o n\u00f3s vamos ter que criar na verdade n\u00e9 em uma postagem do tipo fome ou Elen Cury Ent\u00e3o muda um pouquinho primeiro que n\u00f3s vamos ter que criar o forma e data n\u00e9 ent\u00e3o a gente vai aqui tem uma vari\u00e1vel v\u00e1 form data \u00e9 igual a new http with Quest Messenger que \u00e9 do tipo o post n\u00e9 \u00f3 e vai receber nossa URL e para que a gente trouxe transforme isso no form data a gente vai ter que preencher a propriedade contente de isso aqui \u00e9 s\u00f3 para operar contente ela tem que ser tem que ser preenchida com 11 mil fome URL encontro de contas n\u00e9 e agora a\u00ed n\u00f3s vamos ter que enviar aqui no form values n\u00e9 que \u00e9 diferente do que n\u00f3s planejamos anteriormente se fosse Jason n\u00e9 ent\u00e3o n\u00f3s vamos ter que criar esse form values n\u00e9 E se forme Vales \u00c9 pode ser um Dictionary n\u00e9 ent\u00e3o n\u00f3s vamos optar por ser mais simples para a criar um Dictionary s\u00f3 n\u00f3s vamos criar aqui no v\u00e1cuo forme falo isso igual a aneel \u00e9 de que \u00e9 ver Dictionary n\u00e9 e esse Dictionary \u00e9 do tipo string string o kid ele \u00e9 strenger e o o valor dele \u00e9 stringhi e j\u00e1 t\u00e1 pegando os atalhos das sofistica\u00e7\u00f5es Voc\u00ea \u00e9 chata eu j\u00e1 vou inicializar o dicion\u00e1rio aqui voc\u00ea poderia eu vou iniciar eu vou explicar tamb\u00e9m da maneira menos mais nervosa tamb\u00e9m aqui para voc\u00ea entender n\u00e9 mas eu vou primeiro finalizar aqui da Mangueira E a\u00ed eu iria comer nos c\u00f3digo e mais din\u00e2mico aqui ent\u00e3o eu vou criar aqui um aqui chamada Secret e vou dizer que o valor dela \u00e9 o nosso se que n\u00f3s colocamos l\u00e1 bloquear criar aqui uma que chamada \u00e9 response \u00f3 e vou dizer que o valor dela \u00e9 o responso que n\u00f3s pegamos l\u00e1 em cima n\u00e9 e por \u00faltimo n\u00f3s vamos criar aqui uma uma aqui chamada remote e IP e vamos dizer que o valor dela \u00e9 o Remote Play Opa em multi p e pronto Ah e n\u00e3o tem isso \u00e9 isso aqui \u00e9 que fechou n\u00f3s temos aqui um dia que eu leve para voc\u00ea ter ideia eu vou mostrar da mandei rebolo sol \u00e9 isso aqui \u00e9 um atalho voc\u00ea criar um Dictionary n\u00e3o sei Sharp eu acho muito bom isso aqui voc\u00ea poderia voc\u00ea pode t\u00e1 achando estranho essa sint\u00e1xi poderia voc\u00ea deve est\u00e1 acostumado com essa aqui vou criar um form values dois s\u00f3 para explicar aqui igual a nyu \u00e9 Dictionary n\u00e9 do tipo Spring a esfinge isso aqui \u00e9 o mais comum \u00e9 o que as pessoas conhecem mais mas s\u00f3 que \u00e9 bom que voc\u00ea aqui tem que ter uniu n\u00e9 o estado nesse erro \u00e9 bom que voc\u00ea conhe\u00e7a bem os deixar para que voc\u00ea possa saber at\u00e9 escrever menos \u00c9 ent\u00e3o acho comum que voc\u00ea conhecia n\u00f3s temos uma vari\u00e1vel avaliar fome e valores dois n\u00e9 ent\u00e3o eu posso chamar forma e vales dois aqui EAD de pronto era assim que voc\u00ea conhecia ser \u00f3timo al\u00e9m de ter um que o vale n\u00e9 ent\u00e3o eu colocaria aqui s\u00f3 fazer o primeiro l\u00e1 o Secret n\u00e9 que eu Ok e o valo e seria o que o Secret que avaliava j\u00e1 j\u00e1 eu mostro a\u00ed ent\u00e3o isso \u00e9 igual a isso n\u00e9 aqui \u00e9 porque eu j\u00e1 t\u00f4 inicializando o Dictionary j\u00e1 t\u00f4 fazendo aqui a inicializa\u00e7\u00e3o dele com os valores uma maneira bem mais sofisticada ela \u00e9 a mesma coisa isso aqui n\u00e9 ent\u00e3o vou apagar porque que se resposta sendo marcado aqui e aqui pode ser nulo como eu tenho certeza que resposta n\u00e3o vai ser no Na verdade eu nem que essa certeza toda mas s\u00f3 para eu li s\u00f3 passei de baixo aqui eu vou colocar uma exclama\u00e7\u00e3o aqui eu sei Sharp 10 Aceita isso ent\u00e3o quando eu coloco essa exclama\u00e7\u00e3o aqui significa eu t\u00f4 eu t\u00f4 querendo dizer que eu tenho certeza que essa vari\u00e1vel n\u00e3o vai sendo l\u00e1 ent\u00e3o eu quero que ele pare de ficar reclamando n\u00e9 e aquilo que ele t\u00e1 dizendo aqui aqui \u00e9 outra coisa que \u00e9 que significa o uso como eu falei eu uso um corretor ortogr\u00e1fico e ele t\u00e1 dizendo que essa palavra remote p n\u00e3o existe se eu colocasse aqui pois \u00e9 remote P ele n\u00e3o iria marcar por eu n\u00e3o ter essa vari\u00e1vel n\u00e9 Inclusive eu posso at\u00e9 fazer isso n\u00e9 Ol\u00e1 boa olhada porta Agora ele deixou de marcar agora aqui eu n\u00e3o posso porque porque ele quer receber pela documenta\u00e7\u00e3o \u00e9 um remote P dessa maneira vai que se eu colocar o i mai\u00fasculo o i mai\u00fasculo ele n\u00e3o vai aceitar n\u00e9 ent\u00e3o \u00e9 melhor deixar assim eu n\u00e3o tenho certeza ent\u00e3o vou deixar assim pronto o que ocorre aqui n\u00f3s j\u00e1 est\u00e3o passando aqui o forma e vale e agora n\u00f3s vamos enviar primeiramente n\u00f3s vamos fazer um teste vou criar Jeov\u00e1 r = o nosso clientes acessem o ponto send assim que a fome data nosso form data isso aqui \u00e9 o metal sempre ent\u00e3o eu vou ter que colocar aqui um await se voc\u00ea n\u00e3o entender sobre voc\u00ea pode ver tamb\u00e9m os v\u00eddeos antigos o canal que a gente explica bastante sobre a utiliza\u00e7\u00e3o do assim que doar leite e para isso eu vou ter que tornar esse m\u00e9todo aqui assim Bruno como ele indica que meio que m\u00e9todo de assim que pronta ele agora demora um pouquinho n\u00e3o sei porque Pronto ele j\u00e1 t\u00e1 como ass\u00edncrono mas ele t\u00e1 ainda marcando aqui porque eu n\u00e3o retornei Ainda nada para o m\u00e9todo e agora a gente vai por hora eu vou criar um retorno como estendi pra gente ver qual foi o retorno do Google n\u00e9 ent\u00e3o eu vou dizer que o criar que uma vari\u00e1vel Pois \u00e9 for result washes vou criar um X aqui que \u00e9 s\u00f3 tempor\u00e1rio eu vou dizer que ela \u00e9 igual a r contente. Rede as string assim que porque para a gente a gente vai divulgar tentar divulgar isso aqui para ver qual foi o retorno do Google e no final aqui eu vou dar um result e a pr\u00f3pria viu Calma que ainda n\u00e3o vai estar funcionando lado direito ante o que interessa a gente \u00e9 ver esse result aqui o que eu vou at\u00e9 t\u00e1 aqui um eu ia divulgar mas eu acho que at\u00e9 concurso rightline Eu dei um sed\u00e3 Eu dei um CW de um tablet viu que ele preencher isso aqui para mim como construir o r\u00e1dio on-line eu vou eu vou simplesmente jogar isso n\u00e3o possui esse x que foi o retorno do Google ent\u00e3o agora a gente j\u00e1 pode acho que testar n\u00e9 N\u00f3s vamos para c\u00e1 e vamos aqui uma atualizada pronto ficou tudo certo bom ent\u00e3o ele t\u00e1 pedindo tratores n\u00e3o vamos ver se a gente encontra aqui aqui um dois aqui n\u00e3o tem mais n\u00e9 vamos ver se vai dar certo ou marcou como certo vamos enviar ele deu aqui um erro \u00e9 o \u00e9 o seguinte fundo pequeno vacilo meu eu n\u00e3o posso colocar forma col\u00e9gio aqui n\u00e3o eu tenho colocar a interface pronto ent\u00e3o vamos salvar ele t\u00e1 perguntando se eu quero reiniciar vamos dizer sim E a\u00ed e vamos ver aqui como \u00e9 que ficou pronto J\u00e1 reiniciou v\u00e3o s\u00f3 dar uma atualizada e pronto ent\u00e3o \u00e9 marquei ele t\u00e1 morre perguntando t\u00e1xis Vamos marcar que os t\u00e1xis Eu acho que s\u00f3 isso verificar tente novamente eu acho que eu errei faixa de pedestre vamos ver aqui e pronto j\u00e1 t\u00e1 mudando para outro j\u00e1 est\u00e1 dificultando um pouco falar em dificultar eu j\u00e1 lhe mostrar o que voc\u00ea pode fazer quanto a isso e para quem da faixa de pedestre t\u00f4 marcando aqui \u00f3 acho que n\u00e3o tem mais nenhum novo verificar passou vamos enviar pronto por enquanto n\u00f3s n\u00e3o fizemos nenhum retorno e o que a gente tem que ver \u00c9 o que ele retornou n\u00e3o sei se deu aqui eu posso ir n\u00e3o deu oi L\u00eddia assistem assim que mas eu esqueci de colocar o ao leite n\u00e9 aqui Ent\u00e3o na verdade ele n\u00e3o t\u00e1 o retorno realmente o estranho ent\u00e3o agora a gente vai reiniciar aqui E a\u00ed e dar uma atualizada pronto os novamente as motocicletas e aqueles \u00e9 s\u00f3 isso j\u00e1 deu Ok vamos enviar aqui n\u00e3o deu nada mas aqui n\u00e3o consigo ele deu o retorno do Google olha veja s\u00f3 o retorno dele e ele \u00e9 tolo sucesso igual outro os erros name e o Rodney bom o que ocorre \u00e9 o seguinte a gente vai querer se retorno tipado ent\u00e3o n\u00f3s vamos criar aqui em cima voc\u00ea aqui n\u00e3o \u00e9 poss\u00edvel fazer voc\u00ea pode criar por exemplo voc\u00ea pode criar uma paz t\u00e3o models aqui j\u00e1 j\u00e1 tem n\u00e3o tem a pasta modo voc\u00ea pode criar aqui provisoriamente o Vamo que aqui em cima classe nova que vai simbolizar esse retorno Google por exemplo a gente vai chamar ela de r\u00e9 que \u00e9 ch\u00e1 Luis fonsi pronto Oi e a gente j\u00e1 sabe que tem um success aqui n\u00e9 ent\u00e3o n\u00f3s vamos ficar aqui uma propriedade pr\u00f3pria e sabe gente a sabe que ela \u00e9 Poliana n\u00e9 ent\u00e3o vamos colocar como um BO aqui E v\u00e3o chamar de roupas Sul as suas eu que escrevi errado pronto esse hostname&#8217; n\u00e3o vai interessar para gente ent\u00e3o gente vai deixar s\u00f3 por hora isso aqui s\u00f3 que a gente vai testar como \u00e9 que \u00e9 o retorno dele se a gente n\u00e3o preencher o correto n\u00e9 o recaptcha entendeu porque pode pode ser que isso tenha mais propriedades aqui pra gente criar a gente vai aqui atualizar novamente N\u00e3o sei o que precisa mas vamos l\u00e1 a gente vai errar propositalmente aqui e olha eu vou errar propositalmente aqui e tente novamente na verdade n\u00e3o tem como errar aqui n\u00e9 pular pronto n\u00e3o tem como errar Ent\u00e3o como n\u00e3o tem como errar eu vou enviar sem fazer o like que Shake simboliza errada entendeu bom ent\u00e3o vamos ver o que \u00e9 que ele olha o que o que ele colocou e colocou success que a gente j\u00e1 tem a vari\u00e1vel sucks aqui e colocou que uma coisa nova como que foi eu erro diz n\u00e9 a gente vai ter que criar uma propriedade o que n\u00e3o se tu me que ela \u00e9 sinal de que ela \u00e9 uma rede stringues \u00e9 ent\u00e3o a gente vai dizer que ela \u00e9 uma rede esfinges vai dizer que ela hoje tem dar uma resist\u00eancia e o nome dela \u00e9 erro cores pronto mas voc\u00ea sabe que \u00e9 na s\u00e9rie A S\u00e9rie a\u00e7\u00e3o autom\u00e1tico ser chato n\u00e3o vai conseguir ser realizar escrito que tem um tra\u00e7o n\u00e9 ent\u00e3o n\u00f3s vamos criar aqui mais uma coisinha para que a gente possa criar sua pr\u00f3pria da\u00ed a gente vai criar aqui um quem \u00e9 Jason property name n\u00e9 a divis\u00e3o property name \u00f3 e vai dizer que essa pr\u00f3pria o nome dessa propriedade \u00e9 igual a erro Pode sim mas s\u00f3 que \u00e9 um cl\u00e1ssico \u00c9 isso a\u00ed faz com que seja poss\u00edvel esse essa propriedade que tem wi-fi aqui na hora dos echarpe de se realizar ela Ele vai entender que ela essa refer\u00eancia \u00e0 propriedade isso porque agora gente vai mudar no lugar deve retornar agora stringher aqui cad\u00ea o retorno esse chips aqui n\u00f3s vamos falar mudar o nome colocar uma representativo n\u00e9 N\u00f3s vamos colocar coisa at\u00e9 quer fechar result e ele n\u00e3o vai mais ser um estilingue n\u00e9 a gente vai dar um Midi o som Jason assim que e o nosso tipo n\u00f3s vamos passar o tipo que n\u00f3s temos aqui que foi riquix\u00e1 response a gente vai colocar aqui e pronto e pronto e aqui a gente vai esse aqui seria vamos chamar de resposta isso n\u00e3o pode chamar que n\u00f3s a criamos aqui n\u00e9 ent\u00e3o vamos chamar de Google o Luis fonsi e vamos falar colocar aqui tamb\u00e9m e aqui a gente n\u00e3o pode mais dar um Highline no objeto n\u00e9 \u00e9 o que a gente vai fazer \u00e9 o seguinte n\u00f3s vamos criar um rio bag que vai retornar para nossa vio um sucesso um erro n\u00e9 ent\u00e3o n\u00f3s temos propositalmente n\u00f3s queremos aqui a V\u00e1 a propriedade e rudes e a propriedade success porque porque aqui ele vai perguntar se ri caption result quanto success n\u00f3s vamos fazer alguma coisa retornar para ver alguma coisa sen\u00e3o n\u00f3s vamos retornar outra coisa n\u00f3s vamos trabalhar para ser r\u00e1pido aqui com gilbergues mesmo entendeu ele t\u00e1 marcando aqui que os esse valor pode ser nulo como eu tenho certeza que ele n\u00e3o vai ser nulo eu vou colocar aqui nossa interroga\u00e7\u00e3o ou Nossa exclama\u00e7\u00e3o que faz parte do seu chefe 10 essas coisas ent\u00e3o n\u00f3s vamos dizer que se n\u00e3o houve erro ent\u00e3o n\u00f3s vamos dizer que e o nosso v\u00eddeo v\u00e3o criar viu bag o ponto success Como que essa vari\u00e1vel success e vamos dar aqui um retorno a qualquer Spring aqui pois \u00e9 moleque quero te deixar e \u00e9 resolvido com sucesso e isso e se deu sucesso cal\u00e7a contr\u00e1rio e a gente vai mostrar a primeira mensagem de erro para o usu\u00e1rio Ent\u00e3o a gente vai dizer virou pegue voc\u00ea sabe que ele n\u00e3o erro \u00e9 uma rei n\u00e9 n\u00f3s vamos pegar o nosso riquix\u00e1 resulte o erro code first How the full j\u00e1 que queriam uma rede Strings ent\u00e3o ele vai retornar a primeira streaky ou vai retornar a Lulu n\u00e9 mas o certo \u00e9 que ele retorne alguma coisa ou ent\u00e3o caso retorne n\u00famero para gente tratar direitinho at\u00e9 onde vai se isso aqui for nulo a gente vai retornar por exemplo Inclusive eu vou at\u00e9 colocar um condicional aqui apenas Vou retornar \u00e9 o Rick que Chan inv\u00e1lido o pr\u00f3prio e o que \u00e9 que eu queria civil Berg aqui n\u00e9 que na verdade esse wilberg voc\u00ea n\u00e3o precisa nem ter essas o Chaves aqui n\u00e3o queria s\u00f3 tem uma linha n\u00e9 \u00e9 porque n\u00f3s vamos tentar tratar isso navio agora e aqui navio n\u00f3s vamos criar um div que \u00e9 um a leste do Bootstrap a gente vai dizer que cresce dele \u00e9 do tipo Alert Oi e a gente vai criar um Alert a success que pelo multi-step ele vai pintar de verdinho vai ficar bonitinho esse Alerta a\u00ed e a gente vai colocar nesse a leste O nosso wilberg vai colocar wilberg. a success problema que n\u00f3s queremos duas hillberg ent\u00e3o n\u00f3s vamos ter que tratar o erro tamb\u00e9m ent\u00e3o eu tudo clicando aqui toda n\u00e3o o shift Alt seta para baixo n\u00e9 e vou dar que o alert-danger N\u00e9 que \u00e9 vermelha causa de erro mas eu s\u00f3 vou mostrar essa se e o sucesso futuro n\u00e9 ent\u00e3o eu vou dizer aqui se Oi gilberg. Success eu sei se for outro \u00e9 que eu vou mostrar essa aqui ent\u00e3o vou passar passar essa aqui para cima n\u00e3o \u00e9 isso E caso contr\u00e1rio a gente faz um arroz aqui na verdade pode ser n\u00e9 ou ent\u00e3o a gente pode at\u00e9 verificar se houve erro n\u00e9 sei l\u00e1 se \u00e9 Opa se nosso viu bag outro erro diferente no n\u00e9 se houve realmente eu ent\u00e3o eu vou mostrar tamb\u00e9m essa aqui e \u00e9 melhor que o Elvis n\u00e9 e pronto ent\u00e3o se eu diferente no vou mostrar uma mensagem de erro e se n\u00e3o eu vou mostrar uma mensagem de sucesso que o pr\u00f3prio Bootstrap como o padr\u00e3o um aplica\u00e7\u00e3o me ver vem me ver se ela j\u00e1 inclui Bootstrap ele j\u00e1 vai colocar s\u00f3 para preencher aqui pela documenta\u00e7\u00e3o do Bootstrap ele quer esse rolo aqui como a leste n\u00e9 Vamos colocar aqui pode ser que algum problema e aqui tamb\u00e9m E a\u00ed o resultado algum erro aqui \u00e9 viu pegue \u00e9 um objeto n\u00e9 mas n\u00e3o pode converter para nulo Ent\u00e3o a gente vai dizer vai verificar s\u00f3 isso que se \u00e9 diferente no na verdade n\u00f3s erramos aqui ent\u00e3o se ele for diferente de nulo \u00e9 porque Deus sucesso n\u00e9 Se o erro foi diferente de nulo \u00e9 porque deu erro ent\u00e3o \u00e9 melhor assim e vamos ver se ele vai renderizar eu acho que a gente usou direitinho aqui j\u00e1 t\u00e1 tudo certo aqui t\u00e1 como local Rouche n\u00f3s vamos colocar para 127 10.0.11 ele mostrou Vamos mostrar um errado onde eu n\u00e3o fiz e vou enviar ele t\u00e1 dando inv\u00e1lido impulse response e n\u00f3s vamos mostrar agora tentar mostrar um correto com barcos O interessante \u00e9 que ele s\u00f3 passa daqui Se voc\u00ea acertar Porque aqui n\u00e3o tem a quest\u00e3o de dar errado n\u00e9 Entendeu ent\u00e3o vamos verificar a ordem Ok vamos enviar e ele t\u00e1 dando recaptcha resolvido com sucesso ent\u00e3o esse foi o c\u00f3digo aqui bem simples n\u00f3s n\u00e3o estamos eu iria ainda como ao as Estendeu demais n\u00e9 a dica aqui eu iria ainda dar uma uma modificada no layout para ficar milh\u00e3ozinho aqui mas eu acho que n\u00e3o \u00e9 o foco realmente da Dica aqui falar sobre layout n\u00e9 bom ent\u00e3o a gente pode deixar para uma pr\u00f3xima aula se l\u00e1 mas \u00e9 uma coisa que eu queria ver esses comentar foi sobre a dificuldade do recaptcha se voc\u00ea for aqui como acessar as configura\u00e7\u00f5es do ict j\u00e1 que voc\u00ea criou voc\u00ea v\u00ea que tem essa essa prefer\u00eancia de seguran\u00e7a e essa Barrinha aqui e Progresso quanto mais voc\u00ea puxa ela para c\u00e1 com mais dif\u00edcil vai ser o cara responder o question\u00e1rio e mais para c\u00e1 vai ser mais simples responder ent\u00e3o \u00e9 \u00e9 como se deixar aqui no meio que j\u00e1 t\u00e1 j\u00e1 \u00e9 eu diria assim j\u00e1 \u00e9 bastante seguro n\u00e9 mas se voc\u00ea quiser dificultar mais ainda voc\u00ea pode trazer ela vem para c\u00e1 para pousa que vai ficar sem estressante vai ficar at\u00e9 estressado que a pessoa que vai utilizar seu site n\u00e9 bom ent\u00e3o galera \u00c9 isso a\u00ed eu pe\u00e7o desculpa que era para ser uma dica r\u00e1pida Mas acabou que demorou n\u00e3o \u00e9 mais do que eu estava prevendo se voc\u00ea tiver curtido essa dica se voc\u00ea tiver gostado desse dia que eu gostaria que voc\u00ea curte esse v\u00eddeo e se disse o canal para que eu tenho voc\u00eas incentivado a criar mais dicas n\u00e9 N\u00f3s temos muitas dicas interessantes pela frente a\u00ed ent\u00e3o muito obrigado pela pela aten\u00e7\u00e3o<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saiba porqu\u00ea implementar o Google reCAPTCHA para evitar mensagens bot .NET Core dicas Marcius Bezerra&#8230; 00:40:00 Saiba porqu\u00ea implementar o Google reCAPTCHA para evitar&#8230;<\/p>\n","protected":false},"author":1,"featured_media":186,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,2],"tags":[91,34,238,236,36,33,19,239,237,240],"acf":[],"_links":{"self":[{"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/posts\/182"}],"collection":[{"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":2,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"predecessor-version":[{"id":278,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/posts\/182\/revisions\/278"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/media\/186"}],"wp:attachment":[{"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.criptografarphp.com.br\/site\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}