Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoas, eu tenho essa class aqui, e gostaria de fazer o efeito contrário do código limpo, gostaria que o código fizesse varias voltas, ficasse mais longo e dificil de entender, seria posssivel?
if (!function_exists('curl_init')) {
throw new Exception('Para o pleno funcionamentento do SISTEMA, o CURL precisa estar habilitado.');
}
if (!function_exists('json_decode')) {
throw new Exception('Para o pleno funcionamentento do SISTEMA, o JSON precisa estar habilitado.');
}
define('info4', 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER ['REQUEST_URI'] . '');
define('urloficial', 'http://127.0.0.1:8080/');
class thisclass {
function getUserInfo($me) {
$this->comparative();
$iNITsYSTEM = curl_init(''.urloficial.'devv/init');
curl_setopt($iNITsYSTEM, CURLOPT_RETURNTRANSFER, true);
$appinfo = array(
'info1' => info1,
'info2' => info2,
'info3' => 'default',
'info4' => info4 );
curl_setopt($iNITsYSTEM, CURLOPT_POST, true);
curl_setopt($iNITsYSTEM, CURLOPT_POSTFIELDS, $appinfo);
curl_setopt($iNITsYSTEM, CURLOPT_REFERER, 'http://127.0.0.1:8080/devv/send');
$result = curl_exec($iNITsYSTEM);
if($result == '1'){
$this->redirect(''.urloficial.'oatuh');
} else if($result == '2'){
$this->redirect(''.urloficial.'oatuh');
} else if($result == '3'){
$this->redirect(''.urloficial.'oatuh');
} else if($result == '4'){
$this->redirect(''.urloficial.'oatuh');
} else if($result){
return $result;
} else {
$this->redirect(''.urloficial.'oatuh');
}
curl_close($iNITsYSTEM);
}
function redirect($url) {
header('location: '.$url.'');
}
function comparative() {
$file1 = md5_file( 'thisfile.php' );
$file2 = md5_file( 'comprove.php' );
if( $file1 === $file2 ){
} else {
echo json_encode(array("error" =>"error 3076"));
exit;
}
}
}eu tenho medo que usem dessa class para prejudicar meu istema já que ela é uma pequena api, gostaria dificultar o código...
Como eu faria para transformar essa class para "orientada a objetos"
De que forma prejudicar? uma vez que talvez o seu problema seja outro.
Essa classe é uma API para desenvolvedores do meu projeto, com ela eles podem fazer a mesma coisa do "registrar com facebook" com a autorização do usuário ele retorna em json os dados do usuário assim fazendo comunicação ponte entre o aplicativo e meu servidor
Certo, então suponho que você usará usuário/senha para fazer autenticação. Nesse caso, o correto seria você ter um arquivo com esses dados, separadamente.
isso é feito em um servidor separado, a class nao tem nenhuma cesso a essas informações;
Mas então você quer esconder o quê? explique melhor.
Esconder a resposta do $result e os redirexionamentos e de onde ele inicia o sistema (a chamada do curl)
Mas qual o objetivo? isso é ilógico e impossível.
Se você disser qual o real problema ao invés do que você quer fazer para resolver seria mais produtivo.
se vc tá com medo do que está expondo, então vc está expondo demais.
em vez de tentar dificultar o código (coisa praticamente inútil), é recomendado que vc exponha menos o sistema, e trabalhe mais com uma API limpa, e com pouco acesso, que exponha menos coisas "sigilosas".
mexer no código não vai ajudar em nada a sua segurança, já que o problema real parece estar antes disso.
Use o Zend Guard. Unica maneira que conheço de fazer o que você quer de maneira segura.
O Zend Guard ainda sim pode ser violado. O problema de segurança não pode ter algo a ver com o código em si, mas o que esse código produz. Se há uma falta de confiança na própria equipe de desenvolvimento, há um sério problema, não de segurança.
Irei ver sobre o Zend... De fato mas o código não consegue obter informações adicionais simplesmente por que quando o usuário autoriza o uso do aplicativo ele retorna uma array específica com as informações do usuario, no caso não teria de maneira nenhuma conseguir violar o meu sistema com ele, o que eu gostaria mesmo é deixar o código mais profissional e conseguir esconder a url do curl, é um simples capricho mas acho necessário.
O cURL é apenas uma ferramenta para fazer requisições, ele não vai jamais expor as informações. O Zend Guard criptografará o código, mas você chamará o cURL de qualquer forma.
O único problema aqui é que não há problema.
Bastaria você usar nomes como se tivessem sido digitado por gatos (dslkadfkhlklh, ukdfkuldflkufd, lkhfkhlafa) nas variáveis, classes e métodos que já deixaria tudo confuso.