Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- BEGIN OF FILE
- by GODINA NICOLAE
- 09.06.2012 11:07
- http://my.xbattle.ru/
- */
- ###################################
- ###### MyVALID ######
- ###### by GODINA NICOLAE ######
- ###################################
- class vNG {
- // Variabile
- private $bad_sql = array('DROP', 'INSERT', 'SELECT', 'JOIN', 'UPDATE', '`', '*', 'OR', ';', 'FROM');
- private $bad_words = array('<', '>', '"', "'");
- private $god_words = array('<', '&rt;', '"', ''');
- private $censor_words = array('Fake', 'kkt', 'pl');
- private $censor_rep = '[******]';
- private $error_file = 'errors.txt';
- // Functii inregistreare erori
- function regERR($message) {
- $data = '['.date("d/m/Y H:i:s").'] ['.$_SERVER['REMOTE_ADDR'].'] '.$message."\n";
- $vdata = file_get_contents($this->error_file);
- $file = fopen($this->error_file, 'w') or die("Nu pot deschide fisierul");
- fwrite($file, $vdata.$data);
- fclose($file);
- }
- // Functii de control
- function vSQL($sql) { // Functie de validare a codului SQL
- $return = str_replace($this->bad_sql, '', $sql, $ne);
- if ($ne>0) {
- $this->regERR("Bad SQL: $sql");
- }
- return $return;
- }
- function ecode($html) { // Functie de validare a codului HTML
- return htmlentities(stripslashes($html), ENT_QUOTES);
- }
- function vGet() { // Procedure de validare GET
- $_GET = str_replace($this->bad_words, $this->god_words, $_GET, $na );
- if ($na>0) {
- $this->regERR("Bad GET: ".json_encode($_GET));
- }
- }
- function vPOST() { // Procedure de validare POST
- $_POST = str_replace($this->bad_words, $this->god_words, $_POST, $na );
- if ($na>0) {
- $this->regERR("Bad POST: ".json_encode($_POST));
- }
- }
- function censor($text) { // Functie cenzurare de cuvinte urite
- $return = str_replace($this->censor_words, $this->censor_rep, $text, $ne);
- if ($ne>0) {
- $this->regERR("Bad WORDS: ".$text);
- }
- return $return;
- }
- function is_email($email) { // Validare email
- return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
- }
- function is_url($url) { // Validare adresa
- return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
- }
- }
- $vNG = new vNG();
- ///////////////////////////////////////////////////////////////
- ///////////// TESTARE PRIN EXEMPLE ///////////////////////////
- ///////////////////////////////////////////////////////////////
- # 1. Validare cod SQL
- // Creat pentru a filtra anumite variabile prin care se poate injecta un SQL cod strain
- echo "SQL VAlid: ".$vNG->vSQL("SELECT * FROM table WHERE id = 1").' <br/>';
- # 2. Validare cod HTML
- // Creat pentru a filtra textul ce poate contine HTML contra XXS
- echo "Text Valid: ".$vNG->ecode('<script>alert("XXS");</script>').' <br/>';
- # 3. Validare masiv $_GET
- // Creat pentru a filtra toate datele de intrare prin metoda GET
- $vNG->vGET();
- # 4. Validare masiv $_POST
- // Creat pentru a filtra toate datele de intrare prin metoda POST
- $vNG->vPOST();
- # 5. Cenzurarea cuvintelor rele
- // Creat pentru a exclude din text cuvinte neadecvate.
- echo "Text Cenzurat: ".$vNG->censor("Fake! Treaba asta e kkt!").' <br/>';
- # 6. Daca este email
- // Creat pentru controlul de corectitudine a E-Mail
- if ($vNG->is_email("myname@gmail.com")) { echo "Email corect <br/>"; } else { echo "Email incorect <br/>"; }
- if ($vNG->is_email("myn@a/me@gmail.com")) { echo "Email corect <br/>"; } else { echo "Email incorect <br/>"; }
- # 7. Daca este adresa
- // Creat pentru controlul de corectitudine a URL
- if ($vNG->is_url("http://my.xbattle.ru/")) { echo "URL corect <br/>"; } else { echo "URL incorect <br/>"; }
- if ($vNG->is_url("www.mysite/ru")) { echo "URL corect <br/>"; } else { echo "URL incorect <br/>"; }
- # 8. Inregistrare eroare in registru
- // Creat pentru a inregistra o eroare in registru.
- $vNG->regERR("Eroarea s-a petrecut in sistema");
- /*
- END OF FILE
- by GODINA NICOLAE
- 09.06.2012 12:37
- http://my.xbattle.ru/
- */
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement