Jump to content


strago

Member Since 26/10/2007
Offline Last Active 12/04/2008, 10:55
-----

Posts I've Made

In Topic: Requisicao De Outra Pagina

12/04/2008, 10:48

Tohma, porque tu não usa o xajax ?

mais pratico e até o momento tem funcionado direitinho.

com ele tu não precisa ficar se esgotando com códigos, basta fazer as funções em php e registrar na instancia da classe xajax e chama-la no form

EX:

//na pagina php 
$xajax->registerFunction("facaisso");

//sete o onsubmit do form pra return false

//no onclick de um botao do form ( type button )
xajax_facaisso(xajax.getFormValues('form'));

ele passa o form inteiro pra voce e voce nao tem q se matar pra criar os urls

PS: Também não precisa se preocupar se o Browser é IE ou FF =]

In Topic: Div Pra Baixo

10/04/2008, 17:40

Creio que há uma maneira simples com javascript, porém não a tenho em mente agora

o que você pode tentar e jogar o foco pra um controle dessa nova página

algo como

var ctl = document.getElementById('controle-noa-pagina');
ctl.focus();

PS: Eu acredito que isso só irá funcionar com Ancoras e controles de formulario

In Topic: Acentuação Xajax 0.5 Por Post

10/04/2008, 12:36

Tohma obrigado pela dica mas ...
hehehe

Eu mudei pra utf8_decode e coloquei dentro da classe agenda quando estou recuperando os dados recebidos

$titulo = checkslashes(strip_tags(stripslashes(utf8_decode($frm['edtTitulo']))));

agora salvou corretamente no DB.

=]

In Topic: Acentuação Xajax 0.5 Por Post

10/04/2008, 10:34

Não resolveu,

O problema é que os dados saem do form html para o xajax pelo método POST, o xajax reenvia o form para a Classe já com os acentos doidos, na classe, não importa o que eu faça, pq ele ja ta com os acentos trocados. O que eu não quero é ter que no xajax, ler os campos e envia-los a classe como parâmetros separados. Mesmo porque eu axo que eles vão ter o mesmo problema.

Alguma coisa me diz que é algo besta que ta passando desapercebido, vou colar os scripts e funcoes que estou usando pra ver c ajuda.

<?php
//ajax.common.php
	require("../xajax/xajax_core/xajax.inc.php");
	$xajax = new xajax("class/ajax.server.php");
	
	$xajax->configure('debug', true);
	$xajax->configure("characterEncoding","ISO-8859-1");
	$xajax->configure('javascript URI', '../xajax/');

	$xajax->registerFunction("agendaListar");
	$xajax->registerFunction("agendaGravar");

?>

//ajax.server.php
<?php
	require("../dbdoc/class.agenda.php");
	function agendaGravar($frm) {
		$obj = new xajaxResponse();
		$agenda = new agenda;
		$agenda->gravar($frm);
		if ($agenda->erro) {
			$obj->alert($agenda->erro);
			return $obj;
		} else {
			if ($agenda->tipo == "Exito") {
				$obj->script("$('edtNumero').value = ''");
				$obj->script("$('edtTitulo').value = ''");
				$obj->script("$('edtCidade').value = ''");
				$obj->script("$('edtEnd').value = ''");
				$obj->script("$('edtData').value = ''");
				$obj->script("$('edtHora').value = ''");
				$obj->script("$('edtConf').options[0].selected = \"selected\";");
				$obj->script("$('btnGravar').disabled = true");
				$obj->assign('edtDescricao', 'innerHTML', '');
				$obj->script("$('edtTitulo').focus();");
				$obj->alert($agenda->resultado);
				return $obj;			
			} else {
				$obj->alert($agenda->erro);
				return $obj;			
			}
		}
	}

	require("class/ajax.common.php");
	
	$xajax->processRequest();

?>

//class.agenda.php
<?php
	class agenda {
		public $resultado;
		public $erro;
		public $tipo;

		//GRAVAR COMPROMISSO
		function gravar($frm) {
			if (strlen(trim(strip_tags(stripslashes($frm['edtTitulo'])))) == "0") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, informe um título para o compromisso.";
				return $this->tipo;
			} elseif (strlen(trim(strip_tags(stripslashes($frm['edtCidade'])))) == "0") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, informe a cidade do compromisso.";
				return $this->tipo;			
			} elseif (strlen(trim(strip_tags(stripslashes($frm['edtEnd'])))) == "0") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, informe o endereço do compromisso.";
				return $this->tipo;			
			} elseif (strlen(trim(strip_tags(stripslashes($frm['edtData'])))) != "10") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, informe uma data válida.\r\n (Ex: 00/00/0000).";
				return $this->tipo;			
			} elseif (strlen(trim(strip_tags(stripslashes($frm['edtHora'])))) < "5") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, informe uma hora válida.\r\n (Ex: 00:00).";
				return $this->tipo;			
			} elseif (strlen(trim(strip_tags(stripslashes($frm['edtDescricao'])))) == "0") {
				$this->tipo = "Dados";
				$this->erro = "Por favor, descreva o compromisso.";
				return $this->tipo;			
			} else {
				$dbx = new db;
				$dbx->conectar();
				if ($dbx->erro) {
					$this->tipo = "Conexao";
					$this->erro = "Não foi possível gravar o compromisso";
					return $this->tipo;
				} else {
					//VERIFICANDO SE EXISTE ALGUM COMPROMISSO NA MESMA DATA E HORA
					$titulo		= checkslashes(strip_tags(stripslashes(htmlentities($frm['edtTitulo']))));
					$cidade		= checkslashes(strip_tags(stripslashes(htmlentities($frm['edtCidade']))));
					$end		= checkslashes(strip_tags(stripslashes(htmlentities($frm['edtEnd']))));
					$data		= checkslashes(datetosql(strip_tags(stripslashes($frm['edtData']))));
					$hora		= checkslashes(strip_tags(stripslashes($frm['edtHora'])));
					$descricao	= checkslashes(strip_tags(stripslashes(htmlentities($frm['edtDescricao']))));
					$conf		= $frm['edtConf'];				
					if (!strip_tags(stripslashes($frm['edtNumero']))) {
						$sql = "SELECT * FROM tab_agenda WHERE (data = '$data') AND (hora = '$hora')";
						$dbx->consultar($sql);
						if (@mysql_num_rows($dbx->consulta) > "0") {
							$temp = $frm['edtData'];
							$this->tipo = "Dados";
							$this->erro = "Desculpe, Já existe um compromisso agendado para $temp as $hora";
							return $this->tipo;
						}						
						$sql = "INSERT INTO tab_agenda SET data = '$data', hora = '$hora', compro = '$titulo', cidade = '$cidade', end = '$end', descricao = '$descricao', conf = '$conf'";
					} else {
						$id = checkslashes(strip_tags(stripslashes($frm['edtNumero'])));
						$sql = "UPDATE tab_agenda SET data = '$data', hora = '$hora', compro = '$titulo', cidade = '$cidade', end = '$end', descricao = '$descricao', conf = '$conf' WHERE id_agenda = '$id'";
					}					
					//INSERÇÃO					
					$dbx->consultar($sql);
					if ($dbx->erro) {
						$this->tipo = "Consulta";
						$this->erro = "Não foi possível gravar o compromisso";
						return $this->tipo;					
					} else {
						$this->tipo = "Exito";
						$this->erro = "";
						if ($id) {
							$this->resultado = "O compromisso foi alterado.";
						} else {
							$this->resultado = "O compromisso foi agendado.";
						}
						return $this->tipo;
					}
				}
			}
		}
}
?>


//lista-agenda.php
//form
					<form id="frmCadastro" action="" onsubmit="return false">
						<fieldset class="field-pesquisa">
							<legend class="ind-texto">Cadastro de Compromissos</legend>
							<p class="texto-l">Número</p>
							<p class="texto-r">Título</p>							
							<p class="campo-l"><input type="text" class="ind-filtro" id="edtNumero" name="edtNumero" size="20" maxlength="11" readonly="true" /></p>
							<p class="campo-r"><input type="text" class="ind-filtro" id="edtTitulo" name="edtTitulo" size="126" maxlength="100" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');" onkeydown="Tabular();" /></p>
							<p class="texto-l2">Cidade</p>
							<p class="texto-r">Endereço</p>							
							<p class="campo-l"><input type="text" class="ind-filtro" id="edtCidade" name="edtCidade" size="53" maxlength="100" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');" onkeydown="Tabular();" /></p>
							<p class="campo-r"><input type="text" class="ind-filtro" id="edtEnd" name="edtEnd" size="93" maxlength="100" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');" onkeydown="Tabular();" /></p>
							<p class="texto-l">Data</p>
							<p class="texto-l">Hora</p>
							<p class="texto-r">Confirmado</p>
							<p class="campo-l">
								<input type="text" class="ind-filtro" id="edtData" name="edtData" size="15" maxlength="10" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');" onkeydown="Tabular();" />
								<a href="#" onclick="displayCalendar(document.forms[0].edtData,'dd/mm/yyyy',this)"><img src="imagens/calendario.gif" height="16" width="16" alt="Calendário"  /></a>
							</p>
							<p class="campo-l">
								<input type="text" class="ind-filtro" id="edtHora" name="edtHora" size="16" maxlength="8" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');" onkeydown="Tabular();" />
								<a href="#" onclick="displayCalendar(document.forms[0].edtHora,'hh:ii',this,true,document.forms[0].edtHora)"><img src="imagens/calendario.gif" height="16" width="16" alt="Calendário"  /></a>								
							</p>
							<p class="campo-r">
								<select id="edtConf" name="edtConf" class="ind-filtro">
									<option value="Aguardando" selected="selected">Aguardando</option>
									<option value="Confirmado">Confirmado</option>
									<option value="Cancelado">Cancelado</option>
								</select>
							<p class="foto-texto">Descrição</p>
							<p class="foto-campo">
								<textarea id="edtDescricao" name="edtDescricao" cols="151" rows="5" class="ind-filtro" onchange="checkCampos('frmCadastro');" onblur="checkCampos('frmCadastro');"></textarea>
							</p>					
							<p class="foto-btn">
								<input type="button" value="  Gravar  " id="btnGravar" name="btnGravar" class="ind-filtro" disabled="true" onclick="xajax_agendaGravar(xajax.getFormValues('frmCadastro'));" />
								<input type="button" value="Excluir" id="btnExcluir" name="btnExcluir" class="ind-filtro" disabled="true" onclick="agendaExcluir($('edtNumero').value);" />
								<input type="reset" value=" Limpar " id="btnLimpar" name="btnLimpar" class="ind-filtro" onclick="$('btnExcluir').disabled = true; $('btnGravar').disabled = true;" />
							</p>
						</fieldset>
					</form>

In Topic: Como Denunciar Crimes Digitais

26/10/2007, 09:29

Infelizmente, essas não são as únicas categorias de crimes digitais praticadas mas são as únicas que ganham destaque na mídia....

Eu ajudo a manter um serviço online onde mais de 200 pessoas se mantém conectadas com um consumo razoavel de banda, estamos hospedados em um collation com um equipamento próprio e uma banda fornecida pela gvt/embratel, ultimamente sofremos inúmeros ataques DDoS / Syn-Flood derrubando não só o nosso serviço , mas afetando praticamente toda a rede do nosso provedor.

O maior problema desse tipo de crime é que, apesar de estar sendo praticado aqui dentro, com alvos nacionais, são utilizados PHP Shell Bots, ou Bash Shells de servidores hospedados fora do pais, que provavelmente foram invadidos e tem sua banda utilizada para esses fins.

Sofremos ataques do tipo constantemente e infelizmente não vejo nenhuma medida por parte das autoridades , falta boa vontade tanto no pais, quanto fora , para investigar e punir os autores desses atos. Eu concordo que em muitos casos não é facil chegar a origem do ataque, será que não é a hora dos provedores internacionais pararem pra pensar e começarem a tomar dedidas de para filtrar e conter esses ataques na fonte ?

IPB Skin By Virteq