Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou criando um novo projeto pessoal, e também o estou utilizando para o meu TCC, porem eu estou com algumas duvidas aparentemente simples as quais são:
// Classe SIS_debug, para depuração do sistema.
class SIS_debug {
/**
* @param mixed $variavel, recebe a variavel, vetor que vai ser debugado,
* @param mixed $var_name, recebe a variavel e imprime seu respctivo nome.
* @param bool $break, define se vai exexutar um break ou exit no final do debug
* @return mixed, retorna o valor debugado da variavel recebida.
**/
public function debug($variavel, $var_name = null, $break = null){
global $SIS_local;
$var_name = htmlspecialchars($var_name);
if($SIS_local == "homologacao"){
if($variavel){
echo "<pre>\n";
if($var_name) echo "<b>Variavel Recebida:</b> <b style='color: blue;'>$var_name</b> <br><b>Variavel Saida</b>: ";
strip_tags(var_dump($variavel));
echo"</pre>\n ";
}
else{
echo"<pre>\n";
echo "<b>Variavel Recebida:</b> <b style='color: blue;'>$var_name</b> <br><b>Variavel Saida</b>: ";
echo "<b style ='color: red;'>Null</b> \n";
echo "</pre>";
}
if($break){
break;exit();
}
}
}
}- Eu estou lendo bastante sobre SQL Injection e estou tentando me proteger das maneiras possíveis, inicialmente eu estou tratando todos os dados, que são recebidos do $_POST $_GET, claro que vou atentar com os detalhes no desenvolvimento, mais abaixo vou postar a função que recebe os dados, mais minha duvida agora é a seguinte.
É em relação ao SQL, obrigatoriamente eu tenho que em algum momento colocar a senha, usuário e etc.. no código nem que seja em um arquivo separado, por exemplo configuração.php, gostaria de saber se existe uma maneira de eu prevenir que esse arquivo tenha opção de leitura ou qualquer outra coisa?
Código que falei que recebe os valores do $_GET e $_POST:
// CASSE validar_variavel ai ter a função de receber automaticamente todos os tipo de valores recebidos por $_GET, $_POST
class validar_variavel {
/**
* @param mixed, $variavel Recebe a variavel que pode vir por POST ou GET
* @param mixed, $variavel que define qual tipo de valor está sendo recebido para poder ja no momento que esta recendo a variavel trata-la
* @param boolean, define se quero depurar ou não o valor que está sendo recebido.
* @return mixed, $variavel, ele retorna o valor recebido ja tratado ou não porem ja de forma segura.
* tipos reconhecdos string, int, date, no decorrer da necessidade vão ser adicionados mais.
**/
public function validar_variavel ($var, $type = 'string', $debug = null){
global $_POST, $_GET; //
$sis_debug = new SIS_debug;
$tratado = new tratamentos;
if(isset($_GET[$var])){
$string = $_GET[$var];
}
else if (isset($_POST[$var])) {
$string = $_POST[$var];
}
if($debug){
$sis_debug -> debug($string, $string);
}
if($type){
if ($type == 'int') {
$string = $tratado -> tratar_int($string);
}
elseif ($type == 'date') {
$string = $tratado -> tratar_data_br_sql($string);
}
else{ // Caso não seja int ou data ele vai cair em string....
$string = $tratado -> tratar_string($string);
}
}
return $string;
}
}
Lembrando que eu não sei se meus métodos estão corretos em relação a programação Orientada a Objeto.
Carregando comentários...