PHP Classes

securityAuthParam: Encrypt and verify URL parameters

Recommend this page to a friend!
  Info   View files View files (4)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 55%Total: 717 All time: 4,610 This week: 154Up
Version License PHP version Categories
security-auth-param 1.0BSD License5.2PHP 5, Cryptography, Security
Description 

Author

This class can be used to encrypt and verify URL parameters.

It can take a string or array of values to be passed as query parameters in an URL and encrypt it using a given private key.

The class can also decrypt and verify the integrity of an encrypt string or array value passed in the current page URL.

In Portuguese:

securityAuthParam é uma classe que comtempla uma serie de soluções que permite ofuscar de uma forma segura parametros de "strings" e "arrays".

Nasceu da necessidade básica de ofuscar "query strings" e parametros de formulários para impedir que uma alteração manual em parametros de "query strings" e ao mesmo tempo adicionar um hash HMAC a partir de um "salt" para verificação da autenticidade dos parametros passados.

Picture of Marcelo Costa
Name: Marcelo Costa <contact>
Classes: 9 packages by
Country: Brazil Brazil
Age: ???
All time rank: 37129 in Brazil Brazil
Week rank: 312 Up26 in Brazil Brazil Up
Innovation award
Innovation award
Nominee: 1x

Details

securityAuthParam é uma classe que comtempla uma serie de soluções que permite ofuscar de uma forma segura parametros de "strings" e "arrays". Nasceu da necessidade básica de ofuscar "query strings" e parametros de formulários para impedir que uma alteração manual em parametros de "query strings" e ao mesmo tempo adicionar um hash HMAC a partir de um "salt" para verificação da autenticidade dos parametros passados. Uma das mais indicadas utilização é a passgem de parametros para aplicações em ajax. supondo uma query string usual : index.php?userID=1&expire=31-12-2020 alterando a query string para : index.php?userID=2&expire=31-12-2020 Teriamos uma falha de segurança que permitiria um usuario acessar dados de outros ou mesmo aletrar uma data de expiração de uma consulta, mas adicionando um parametro de autenticidade uma verificação pode ser fornecida. index.php?userID=1&expire=31-12-2020&auth=hashHMAC(querystring) os hash HMAC suportados são todos os possiveis no PHP sendo mais usuados MD5,SHA1,RIMPED160 e SHA256, o valor default eh RIMPED160 por fornecer o melhor custo/beneficio entre velocidade e segurança. Quanto mais forte o hash encripado maior se torna a string , valores de ate 2.000 (dois mil) caracteres são suportados pelos navegadores e webservers, o uso de ZLIB ajuda a compactar a string sem perda significativa do desempenho e permite que se adicione "n" parametros que contribuem para a segurança da ofuscação , seja um parametro randomico ou uma data de expiração, patricamente não alterado o tamanho final da string. index.php?param = ofuscate auth parameter array A codificação atente as RFC 4648 e RFC 2045 sendo segura para ser utilizada inclusive por SSL A classe tambem permite que se crie xml para request e response com parametros de autenticação: // XML request $request ='<response action="post">'; $request .="<random>". rand() ."</random>"; $request .="<expiration>". $expiration ."</expiration>"; $request .="<userID>".$UserID."</UserID>"; $request .="</response >"; // Load the XML request info DOM for Authentic param. $xmlObject = new DOMDocument('1.0', 'UTF-8'); $xmlObject->formatOutput = true; $xmlObject->loadXML($request); $Nodes = $xmlObject->getElementsByTagName('response'); foreach ($Nodes as $Node) { signNode( $xmlObject, $Node, $authparam ); } echo $xmlObject->saveXML(); Parametros de configuração constantes: // chave privada define("PRIVATEKEY", "my private key"); // modo de encripação do hash define("HASHMODE","ripemd160");// default ripemd160 // tipo de parametros de retorno : //array ofuscado define("AUTHMODE", "AUTHARRAY");// default opcional // hash hmac ofuscado define("AUTHMODE", "AUTHSTR");// opcional

  Files folder image Files  
File Role Description
Accessible without login Plain text file paramAuthArray.php Example exemple
Accessible without login Plain text file paramAuthQueryString.php Example exemple
Accessible without login Plain text file readme.txt Doc. document
Plain text file securityAuthParam.php Class class

 Version Control Unique User Downloads Download Rankings  
 0%
Total:717
This week:0
All time:4,610
This week:154Up
 User Ratings  
 
 All time
Utility:75%StarStarStarStar
Consistency:75%StarStarStarStar
Documentation:31%StarStar
Examples:68%StarStarStarStar
Tests:-
Videos:-
Overall:55%StarStarStar
Rank:1958