Criando um sistema básico de controle de acesso com Yii2 e Postgres

Sou novo na área, e não entendo muito sobre, mas preciso criar um sistema de controle de acesso básico no Yii2, e o máximo que eu consigo é limitar as Roles para Guests e usuários autenticados. Já tentei fazer usando Auth Keys, mas acabou bugando todo o código, e agora cá estou eu na estaca zero de novo. Por todos os exemplos que busquei, simplesmente me faltam informação, ou eu não entendo a lógica. Se for preciso, posso enviar imagens, trechos de códigos e até mesmo o link no github. Agradeço desde já, galera.

All topic

Acesso a formulário externo com recaptcha

Olá!
Estou fazendo uma aplicação na área de orçamento participativo, gostaria de saber qual a melhor solução (se houver) para conectar a uma página externa web, preencher um formulário, permitir ao usuário resolver o recaptcha da página externa e recuperar os dados de resposta da página externa.
Página externa:
http://apps.tse.jus.br/saae/consultaLocalVotacaoNome.do

Eu vi algumas soluções aqui para receber os dados de cpf e cnpj da receita federal, porém nesses casos usa o captcha de “imagem”, essa página traz o recaptcha novo “check box”.

Tentei carregar essa página dentro na minha pagina em um iframe mais dai não consigo nem recuperar o html do iframe por ser uma questão de domínio cruzado.

Desde já obrigado pela atenção!

All topic

Transmissão EFD Reinf – “falha no acesso ao Sistema de Procuração Eletrônica”

Depois de atualizar as classes dos xsds para a versão 1.3.02, estou tentando transmitir eventos de abertura (R1000) e fechamento (R2099) do EFD Reinf. Fui corrigindo os erros conforme foram aparecendo até parar no seguinte:

MS0020 – Ocorreu uma falha no acesso ao Sistema de Procuração
Eletrônica. Aguarde alguns minutos e tente novamente. (2478979111)

Não consegui progredir daí. O CNPJ nos eventos é a raiz da matriz, com oito dígitos, alinhada à direita com zeros, que de consultas ao manual e alguns fóruns foi o que eu entendi que deveria ser. O certificado é um A1 que está cadastrado no E-CAC como procurador da empresa que transmite os dados.

A mensagem parece ser um erro interno deles, mas como não vi ninguém mais falando sobre esse erro em particular imagino que seja alguma coisa no preenchimento. Seguem os xmls(hashs e assinaturas omitidos por brevidade).

Envio:



    
        
            
                
                    2
                    1
                    1.0
                
                
                    2
                    XXXXXXXXXXXXXX
                
                
                    
                        
                            2017-01
                        
                        
                            99
                            0
                            0
                            0
                            0
                            
                                Teste
                                12345678900
                                2122223333
                                21912345678
                                teste@teste.com
                            
                        
                    
                
            
            
                
                    
                    
                    
                        
                            
                            
                        
                        
                        ...
                    
                
                ...
                
                    
                        ...
                    
                
            
        
    
    
        
            
                
                    2017-01
                    2
                    1
                    1
                
                
                    2
                    XXXXXXXXXXXXXX
                
                
                    Teste
                    12345678900
                    2122223333
                    teste@teste.com
                
                
                    N
                    N
                    N
                    N
                    N
                    N
                    N
                
            
            
                
                    
                    
                    
                        
                            
                            
                        
                        
                        a17VdbLyWAEaq1ABm7pMNLI340ZlQO2b4splHna5xKA=
                    
                
                ...
                
                    
                        ...
                    
                
            
        
    

Resposta:



    
        
            
                
                    16567897000170
                
                
                    0
                    SUCESSO
                
                
                    
                        
                            
                                
                                    
                                
                                
                                    2
                                    XXXXXXXXXXXXXX
                                
                                
                                    
                                        1
                                        ERRO
                                        
                                            1
                                            
                                            MS0020
                                            Ocorreu uma falha no acesso ao Sistema de Procuração Eletrônica. Aguarde alguns minutos e tente novamente. (2478979111)
                                        
                                    
                                
                                
                                    2018-04-30T13:43:13.8918393-03:00
                                    1000
                                    ID1XXXXXXXXXXXXXX2018043013431200000
                                    ...
                                
                                
                            
                            
                                
                                    
                                    
                                    
                                        
                                            
                                            
                                        
                                        
                                        ...
                                    
                                
                                ...
                                
                                    
                                        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
                                    
                                
                            
                        
                    
                    
                        
                            
                                
                                    2017-01
                                
                                
                                    2
                                    XXXXXXXXXXXXXX
                                
                                
                                    
                                        1
                                        ERRO
                                        
                                            1
                                            
                                            MS0020
                                            Ocorreu uma falha no acesso ao Sistema de Procuração Eletrônica. Aguarde alguns minutos e tente novamente. (2478979111)
                                        
                                    
                                
                                
                                    2018-04-30T13:43:13.9543704-03:00
                                    2099
                                    ID1XXXXXXXXXXXXXX2018043013431200001
                                    ...=
                                
                                
                            
                            
                                
                                    
                                    
                                    
                                        
                                            
                                            
                                        
                                        
                                        ...
                                    
                                
                                ...
                                
                                    
                                        ...
                                    
                                
                            
                        
                    
                
            
        
    

Se alguém tiver alguma ideia agradeço muito!

All topic

Proteger arquivos php contra acesso direto sem bloquear para o sitema

Em termos de roteamento, meu site se divide em duas partes: Primeiro, ele tem uma pasta app dentro do root, onde fica contido todos os arquivos do site em sistema MVC, e, segundo, ao lado do app, um conjunto de pastas e arquivo que servem pra interceptar a URL digita e redicionar pra route dentro do app que vai chamar o controller que vai chamar a view e aquela história toda.

site.com
|
+--- app
|     |
|     +--- public
|     +--- route
|     +--- ctrl
|     +--- model
|     +--- view
|     +--- bla
|     +--- bla
|     +--- bla
|
+--- tag
|     |
|     +---tag1.php
|     +---tag2.php
|     +---tag3.php
|
+--- page
|     |
|     +---page1.php
|     +---page2.php
|     +---page3.php
|
+--- index.php

Bom, o que eu quero fazer agora é: Bloquear o acesso direto via html a todos os arquivos do tipo php, que dentro da pasta de app, mas de modo que eles ainda estejam disponíveis caso eles sejam reaquistados via includes e ajaxs.

Sei que essa questão já foi perguntada várias vezes por aqui mas o problema é que todas as soluções (sejam elas via .htaccess ou via edição direta no arquivo php) bloqueda meus arquivos para o sistema também e o meu site não carrega.

Enfim, como fazer isso da maneira correta?

All topic

Como rodar um servidor PHP localmente, sem permissão para acesso externo?

Resumindo:
Servidor Node recebe um request da internet e envia o User-Agent para um servidor local PHP, que responde com o tipo de dispositivo.

O motivo para essa gambiarra é que eu só encontrei uma biblioteca de detecção de dispositivos que é ativamente mantida, e ela é em PHP (Mobile-Detect). A versão dela para Node/Javascript é desatualizada e falha em detectar aparelhos como o Motorola Moto G4 Plus, retornando que é um desktop.
Então, preciso de uma solução para, através do Node, enviar o User-Agent do request para esse servidor PHP, que responderia com o tipo de dispositivo daquele User-Agent.

A questão é que eu gostaria que esse servidor PHP rodasse apenas localmente, não exposto na internet. Apenas o servidor Node tem que estar exposto. Como posso fazer isso?

All topic

Vagrant acesso compartilhado entre equipe

Cenário:

  • Duas máquinas (A e B), ambas na mesma rede local e com vagrant e virtualbox instalado. Uma é Windows e outra é mac
  • Na máquina A tenho um uma box homestead (laravel/homestead) com todo meu ambisnte.

Problema

Preciso que a máquina B acesse as pastas e URL da box da máquina A. Segue o que eu já tentei fazer e que não me atende:

  • vagrant share –ssh. Não me atende por que cai depois de uma hora
  • vagrant package e publicar o ambiente.
    • Não me atende por que não quero que os outros desenvolvedores tenham que subir cada um uma box em suas próprias máquinas
  • Copiar o vagrantfile ou seja o ambiente para as outras máquinas e dar um vagrant up.
    • Não me atende pelo motivo citado acima

Abaixo segue detalhadamente o que eu já fiz .

Solução – SHARE –SSH

Executando esses 3 comandos conforme documentação eu consegui atingir o objetivo:

  • Share
  • connect
  • ssh

Em sumo:

Máquina A:

vagrant login
vagrant share --ssh

Máquina B:

vagrant connect --ssh 

Deu tudo certo. Mas essa solução não me atende porque a conexão cai depois de uma hora conforme documentação: security share

Solução – Package ou copiar ambiente Vagrantfile

As soluções atráves da publicaçao de box na hashicorp

vagrant package

ou copiando o ambiente (vagrantfile) para depois dar um

vagrant up # na máquina B

Também não me atendem.

Sugestões

Alguém tem alguma sugestão para me ajudar?

Gostaria de deixar a máquina A sempre ligada para que a máquina B, C ou D dos desenvolvedores acessem ela através de uma IP ou algo do gênero.

Gostaria de saber se posso fazer isso através Private_network ou Public_network do vagrantfile?

Alguém que conhece esses recursos e que já tenha feito algo similar pode me ajudar, por favor.

Valeu pessoal.

All topic

problema com porta de acesso no node.js

estou tentando aprender sobre angular2, e estou me deparando com este problema.
quando eu digito : ” live-server” me aparece este erro abaixo:

live-server
Error: listen EACCES 0.0.0.0:8080

Tento digitar o comando para mudar a porta :node-inspector –web-port=8099 e me aparece a mensagem a seguir:

node-inspector --web-port=8099
'node-inspector' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

Como faço para corrigir isso ?

All topic

Backup Database, qual ferramenta usar, alternativas, segurança e acesso aos dados?

Boa tarde pessoal, não sei se aqui é o lugar correto pra fazer essa pergunta, se não for peço desculpas e excluo a pergunta, mas lá vai…

  • Onde eu trabalho temos um sistema que trabalha com 2 tipos de database, firebird 2.0 ou MySQL, devido ao banco firebird ficar no lado do cliente, algumas vezes o backup que geramos(e fica na mesma máquina do cliente) se perde por motivos que não temos como prevenir, exemplo: já houve casos que o cliente teve o computador furtado, HD queimando, e essas coisas as quais não temos controle.
  • 1º tentativa de solução: Disco removível armazenando o backup.

Isso prevenia os dados serem perdidos por problemas no HD, mas não adiantava nada se o cliente removesse o disco, além de dar erro no caminho quando o backup automático fosse ativado.

  • 2º tentativa de solução: MegaSync e similares.

Esta tentativa funcionou corretamente por algum tempo, até percebermos que quando ocorresse alguma falha na internet, queda de energia ou problemas no momento em que o backup estava sendo sincronizado, o arquivo ficava inútil ou se perdia uma quantidade grande de dados.

Após passar por isso me vi obrigado a procurar uma outra solução, cheguei em 3 opções e queria saber se algum de vocês já usou elas ou tem alguma ideia de como controlar a situação.

As opções são:

  • Acronis
  • Uranium Backup
  • Microsoft Azure

Sendo as 2 primeiras com ferramentas específicas pra banco de dados…
Se alguém puder ajudar fico grato

All topic

Controle de acesso e permissão

Estou com um projeto de CRUD pra gerenciar docentes e cursos de uma faculdade usando jsf+primefaces+jpa. Meu problema é o seguinte:

  • Existem os usuarios que são os cordenadores dos cursos e os usuarios que são funcionarios. Os funcionarios tem acesso a lista de todos os cursos cadastrados na base, porém os cordenadores só podem visualizar os dados do curso dele.

    • Exemplo:
      Usuario normal abre a tela do crud e ve um datatable mostrando todos os cursos. Já um cordenador ve um datatable mostrando apenas o curso atribuido a ele.

Como eu faço pra restringir esse tipo de acesso a um usuário?

All topic

Como instalar pacote no python, sem acesso adm, offline

Bom dia!

No meu trabalho não tenho permissão para fazer download nem acesso de administrador e preciso instalar o pacote imbalanced_learn para usar o SMOTE.

Tentei baixar o whl e usando pip pelo powershell ele diz que o whl não é suportado por essa plataforma. Isso é pela versão do meu python?

Não conseguindo instalar o pacote, vocês tem outra sugestão para modelar uma base desbalanceada?

Grato,
Felipe

All topic