-
Total de itens
1327 -
Registro em
-
Última visita
-
Dias vencidos
15
Tudo que Omar~ postou
-
Recuperação extrema de arquivos corrompidos no HD
Omar~ respondeu ao tópico de Alan Arnese em Segurança & Malwares
O problema está aqui, porque de fato nada é perdido dentro do disco e sim sobre escrito. Meu conselho é que não manoseie o HD e leve a uma empresa especializada sobre tal afim (Esse tipo de serviço e extremamente caro) assim como disse o @Lord Enigm@. Quanto mais você manusear o hardware menor serão as chances de recuperação de dados.- 2 respostas
-
- hd
- corrompido
- (e mais 4 )
-
<?php session_start(); $_SESSION['php'] = 1; if (isset($_SESSION['php'])) { var_dump($_SESSION); } https://www.php.net/manual/pt_BR/reserved.variables.session.php
-
De fato sempre deve existir um index (na raiz) os demais podem se default seja PHP seja ASP e babla bla bla E quem sempre vai comandar é o index em um htaccess, mesmo que você redirecione para ele ou não. No caso de como você diz A regra colocamos de seguinte forma RewriteCond %{REQUEST_FILENAME} !-d Ou seja a regra não será apicada se for um diretório Veja: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Na primeira questão temos !-f O que que dizer que a regra não é aplicada se for um arquivo, seja ele php, xml, txt,,,, etc... e tal Na segunda linha diz que a regra não deve ser aplicada !-d se for um diretório (pasta)
-
Que isso cara disponha... Manipulação do DOM é um "basicão" do JS e no fim(o mais avançado) é o objetivo final...
-
Qual a linguagem usada no servidor? Enfim, você irá verificar a existência de uma cessão.
-
/* Inicio duas variáveis Uma para varrer o documento em busca de elementos classificador "dia" Outra vazia que usarei como método de identificar cada elemento */ var dia = document.getElementsByClassName('dia'), i; /* Como a variável dia é um array, tenho que indexar cada item desse array através de um loop Que por sua vez a cada volta desse loop vai adicionando um evento a cada item */ for (i = 0; i < dia.length; i++) { dia[i].addEventListener('click', uma_funcao, false); console.log('O loop deu ' + i + ' volta(s) e indexou o elemento ' + dia[i]); } function uma_funcao(evento) { var alvo = evento.target; console.log('Você clicou em ' + alvo); } Usar onload para esse tipo de situação é desaconselhável, além de ser um método ultrapassado ele vai fazer com que o consumo de memória aumente por adicionar todo javascript na espera e só depois irá começar a carregar o DOM. Nesse caso quando precisar percorrer o documento atrás de elementos o script deve ser acionado depois desses elementos terem sido devidamente carregados.
-
@granderodeo https://github.com/Spell-Master/sm-web/tree/master/javascript/AjaxRequest Com essa aplicação você terá dois métodos para execução de formulários (use a que for de sua necessidade). Em ambos métodos iremos executar/carregar o arquivo que valida os dados em uma div, e no arquivo, aqui irei apresentar um exemplo básico. <div id="executar_aqui"></div> <div id="mensagem" style="display: none"></div> <form id="identificar_formulario" onsubmit="return(executa())"> <input type="text" name="exemplo" /> <button>Enviar</button> </form> <script> function executa() { executa.prototype = new AjaxRequest(); executa.prototype.form('identificar_formulario', 'executar_aqui', 'arquivo.php'); // OU //executa.prototype.formSend('identificar_formulario', 'executar_aqui', 'arquivo.php'); return (false); } function mostraMensagem(texto) { var msg = document.getElementById('mensagem'); msg.innerHTML = texto; msg.style.display = 'block'; setTimeout(function () { msg.innerHTML = null; msg.style.display = 'none'; }, 3000); } </script> Nesse cenário termos uma div para executar, temos uma div para mensagem, e o formulário, uma função de controle do formulário e outra função para executar as mensagens. Então ao executar o formulário ele retorna a função que por sua vez passa a um prototipo do AjaxRequest que irá enviar todos dados de input contidos no formulário como POST para o arquivo designado, então nesse arquivo fazemos a mágica acontecer. <?php if (!isset($_POST['exemplo'])) { echo ("<script>mostraMensagem('POST exemplo não recebido');</script>"); } else if (empty ($_POST['exemplo'])) { echo ("<script>mostraMensagem('POST exemplo está vazio');</script>"); } else if ($_POST['exemplo'] == 'iMasters') { echo ("<script>mostraMensagem('POST exemplo não é iMasters');</script>"); } else { echo (" <script> mostraMensagem('Você digitou iMasters isso é sucesso'); setTimeout(function () { window.location.href = 'https://forum.imasters.com.br/'; }, 3000); </script> "); }
-
Você diz, não redirecionar e sim mostrar mensagens se sucesso ou falha?
-
acesso por nivel Permitir acesso por nível por URL das Páginas
Omar~ respondeu ao tópico de Jack Oliveira em PHP
É muito simples, basta fazer um verificação em cada página(ou arquivo "depende a arquitetura") se aquele usuário tem permissão de acesso. Só uma coisa diria a você que mudasse.... Criar uma tabela só de permissão; digamos então que essa seria a tabela: CREATE TABLE `permitir` ( `id` int(9) NOT NULL AUTO_INCREMENT, `usuario_id` int(9) NOT NULL AUTO_INCREMENT COMMENT 'adicionamos aqui o id do usuario que pode acessar a página', `pagina` varchar(200) DEFAULT NULL COMMENT 'adicionamos aqui a informação da página que ele pode acessar', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Então nossa query fica muito prática SELECT * FROM permitir WHERE usuario_id = '{$ID_DO_USUARIO}' AND pagina = '{$URL}' Então é só verificar isso a cada página ou arquivo que o usuário acessar. Se não há retorno da query é porque aquele id do usuário não está registrado na tabela ou seu id não condiz com a página que ele acessou junto ao valor da tabela na coluna "pagina". -
Esses problemas de acentuações podem ser facilmente resolvidos usando a codificação UTF-8. Certifique que na head esteja corretamente o charset. <meta charset="UTF-8"> Vale lembrar que o banco de dados também pode ser adaptado para conter caracteres corretamente em utf-8. DROP TABLE IF EXISTS `tabela`; CREATE TABLE `tabela` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(50) DEFAULT NULL COMMENT 'um nome que pode conter acentos', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Quando salvar codifique a string conforme a codificação. $texto = utf8_encode('João'); O que vai fazer com que a variável texto fique assim: João Salvamos então essa variável na coluna. Quando fomos exibir o valor da coluna decodificamos: utf8_decode($valor_da_coluna_vinda_da_query); No caso do texto será mostrado: João Também podemos usar entidades ao invés da codificação (Eu prefiro isso porque da menos trabalho e funciona independente da codificação). $texto = htmlentities('João'); O que vai gerar uma string assim: João Não há necessidade de pós exibição pois por ser uma entidade o browser já entende e mostra ã como uma letra a com acento tio. Caso seja nessessário lhe mostro essa classe que fiz para tratamento de strings em situação de manuseio da codificação.
-
mb_convert_encoding(htmlentities($_POST['txtArtigo']), 'UTF-8', 'ASCII'); Será o suficiente para salvar com formatação HTML incluindo char's não imprimíveis assim como aqueles que derivam e emoticons vindos de dispositivos móveis. Mas a coluna que registra os dados desse editor deve seguir essas características: text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci No entanto também são necessários tratamentos antes de salvar, para evitar XSS.
-
É o seguinte, tenho uma tabela de produtos a qual além de possuir características do produto já contém a coluna para o link da mesma. Assim sendo faço a consulta da tabela para preencher um menu com o link para cada produto, e é aqui que entra a questão: Na sua opinião o que seria mais viável ao usuário acessar um produto em questão? Reaproveitar o array de retorno da query ao qual usei para compor os links do menu, só que filtrar esse array mostrando o índice ao qual é acessado. Refazer a query listando somente o produto. A aplicação é executada em um único arquivo. Onde tenho o menu HTML listando cada produto contido na tabela (A qual também guarda as demais informações do produto). Reaproveitar a query ficou meio estranho uma vez que tenho um array multi dimencional da query tenho que buscar o índice para ver se ele existe e ainda varrer o array para poder usar os dados do produto tipo assim: <?php // $url[1] : É o valor vindo da url // $result : É o array multi de resultado da query if (array_search($url[1], array_column($result, 'ap_link')) !== false) { foreach ($result as $value) { if ($url[1] == $value->ap_link) { // Existe o produto e a url é a mesma do link do produto break; } } } else { // O valor da url não condiz com nenhum produto registrado } Essa alternativa evita uma segunda query desnecessária aliviando o lado do SQL, porém em um arrray multo extenso pode haver lentidão para processar os dados. Por outro lado também ficar refazendo consultas também pode deixar a questão meio lenta. A coisa toda é porque existem centenas de produtos na tabela e em ambos os casos está demorando mais do que deveria. Então bateu essa dúvida, qual alternativa tomar, resolvi perguntar, pois várias cabeças peçam melhor que uma.
-
Sim, você só tem que alterar o SMTP no caso Host, Port, Username e Password nas configuração de iniciação PHPMiler.
-
Poderíamos usar javascript para localizar os alvos e rolar a página até o mesmo. Porém não dar para fazer pois seu HTML apresentado contém alguns erros que inviabilizam qualquer uso de script. No caso elementos com #ID duplicados.
-
Isso é um porre mesmo.... Fiquei curioso enquanto a isso: O que estaria utilizando para armazenar essas tentativas falhas? Cookie? Se é cookie nem adianta mesmo... A melhor forma que vejo é usar um código de verificação "captcha". Pois como a regra do mesmo é sempre um código aleatório nenhum programa é capaz de prever seu resultado. Enfim já passei por isso, minha alternativa foi utilizar mesmo o código Captcha no login. Mas toda vez que determinado IP erra o login armazenei a tentativa falha em uma tabela quando o mesmo IP chegue a três erros consecutivos a requisição o captcha aparecia sendo necessário. Em X reincidências aquele IP era bloqueado de acesso. Um ponto ruim dessa minha alternativa foi na camuflagem de IP ao qual alguns usuários que não tinham nada haver acabaram tendo seus IP's bloqueados. No entanto foi necessário devido a 1 ou mais pessoas de má fé querendo atrapalhar. Existem diversos captcha na web até aquele famoso do google "Eu não sou um robô" que poderia está implementando. É algo extremamente chato tanto para o administrador da aplicação quanto para os demais usuários, mas vital quando necessário.
-
Copiar o texto/valor que está no atributo "Title" do próprio link.
Omar~ respondeu ao tópico de Helinho Coelho em Javascript
https://developer.mozilla.org/en-US/docs/Web/API/Clipboard- 5 respostas
-
- atributo title
- attr(title)
- (e mais 2 )
-
Página em construção com um efeito em cima do site todo.
Omar~ respondeu ao tópico de 4Unknow em Desenvolvimento frontend
Sim tudo que colocar internamente a tag dessa div vai herdar suas propriedades. -
Página em construção com um efeito em cima do site todo.
Omar~ respondeu ao tópico de 4Unknow em Desenvolvimento frontend
CSS: É só adicionar no index <div class="nomequalquer"></div>