PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (183): В начало « ... 175 176 177 178 179 180 181 [182] 183 »

> Найдено сообщений: 2732
Bio man Отправлено: 30 Июля, 2011 - 17:32:14 • Тема: обработка данных с целью защиты • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 2264
koka пишет:
Bio man, ты как соединяешься с БД??? используешь mysql_connect() ???
mysql_pconnect()
Bio man Отправлено: 30 Июля, 2011 - 14:34:44 • Тема: обработка данных с целью защиты • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 2264
koka, да хрен его знает, стоит денвер на локалки. спасибо за ответы, будет над чем поработать
(Добавление)
пока такое понимание: число надо проверять или присваивать соответствующий тип данных. строки надо экранировать.
а теперь по экранированию. как? какую функцию использовать или использовать все ф-ции экранирования к проверяемой строке?
а то пишут: используйте это, это или это! а я че программист с 10 летним стажем, от куда мне знать что именно надо!? по мне так что strip_tags(), что htmlentities(), что htmlspecialchars() и другие, почти что одинаковы
Bio man Отправлено: 30 Июля, 2011 - 13:51:47 • Тема: обработка данных с целью защиты • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 2264
1 вопрос. как обрабатывать введенные пользователем данные, что бы он не смог совешить sql иньекцию или каким то другим способом нарушить работу скрипта или даже всего проекта...
2 вопрос. какие уязвимости сессий? и как их устранить?
Bio man Отправлено: 29 Июля, 2011 - 16:29:22 • Тема: ООП и структурный подход • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 2547
спасибо за советы. нащет массива пост, не знаю другого приема как определить были ли данные переданы скрипту на обработку или нет, мне кажется самое простое решение. хочу уточнить,
PHP:
скопировать код в буфер обмена
  1.  
  2. $variable1 = '';
  3. $variable2 = 0;
  4. $variable3 = array();
  5. $variable4;
  6.  
во всех случаях эти переменные будут false?
Bio man Отправлено: 28 Июля, 2011 - 22:27:11 • Тема: ООП и структурный подход • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 2547
что лучше?
1 вариант:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once "common.php";
  4. require_once "modules/getpost.php";
  5.  
  6. class register extends getpost {
  7.        
  8.         private $error = false;
  9.         private $errortext = array();
  10.         private $show_reg = true;
  11.        
  12.         function __construct($lang) {
  13.                 $html = new template(false);
  14.                 if($_POST) {
  15.                         parent::__construct();
  16.                         $this->validate($html, $lang);
  17.                 }
  18.                
  19.                 if($this->show_reg) {
  20.                        
  21.                         $html->set_filenames(array('register' => 'register.html'));
  22.                         $html->set_vars(array('TITLE' => $lang['register']['title'],
  23.                                                                         'USERNAME' => $lang['register']['username'],
  24.                                                                         'PASSWORD' => $lang['register']['password'],
  25.                                                                         'R_PASSWORD' => $lang['register']['r_password'],
  26.                                                                         'SEX' => $lang['sex']['sex'],
  27.                                                                         'MAN' => $lang['sex']['M'],
  28.                                                                         'WOMAN' => $lang['sex']['W'],
  29.                                                                         'EMAIL' => $lang['general']['email'],
  30.                                                                         'REGISTER' => $lang['register']['register']
  31.                                                                         ));
  32.                
  33.                        
  34.                        
  35.                        
  36.                                 $html->parse('register');
  37.                         }
  38.         }
  39.        
  40.         private function insert_in_db($html, $lang) {
  41.                 $db = new database();
  42.                 $sql = "INSERT INTO `users` (`username`, `password`, `sex`, `e-mail`, `reg_time`, `last_visit`) VALUES ('{$this->post['username']}', '{$this->post['password1']}', '{$this->post['sex']}', '{$this->post['email']}', NOW(), NOW())";
  43.                 $db->db('query', $sql);
  44.                
  45.                 if($db->result) {
  46.                         $this->show_reg = false;
  47.                         $_SESSION['logged_in'] = true;
  48.                         $sql = "SELECT `id` FROM `users` WHERE `username` = '{$this->post['username']}' AND `password` = '{$this->post['password1']}'";
  49.                         $db->db('array', $sql);
  50.                         $_SESSION['id'] = $db->array['id'];
  51.                                 unset($html);
  52.                         $html = new template($user = new user($lang));
  53.                         $html->set_filenames(array('welcome' => 'welcome.html'));
  54.                         $html->set_vars(array('TITLE' => $lang['login']['welcome'].', '.$user->user_data['username'],
  55.                                                                         'ENTER' => $lang['login']['enter']
  56.                                                                         ));
  57.                         $html->parse('welcome');
  58.                 }
  59.                 else {
  60.                         die('Сбой регистрации');
  61.                 }
  62.         }
  63.        
  64.         private function validate($html, $lang) {
  65.                
  66.                 if(empty($this->post['username'])) {
  67.                         $this->error = true;
  68.                         $this->errortext[] = $lang['errors']['empty_un'];
  69.                 }
  70.                 else {
  71.                         if(strlen($this->post['username']) < 4 || strlen($this->post['username']) > 20) {
  72.                                 $this->error = true;
  73.                                 $this->errortext[] = $lang['errors']['un_len'];
  74.                         }
  75.                         else {
  76.                                 $db = new database();
  77.                                 $db->db('num_rows', "SELECT `id` FROM `users` WHERE `username` = '{$this->post['username']}'");
  78.                                 if($db->num_rows) {
  79.                                         $this->error = true;
  80.                                         $this->errortext[] = $lang['errors']['un_exists'];
  81.                                 }
  82.                         }
  83.                 }
  84.                
  85.                 if(empty($this->post['password1'])) {
  86.                         $this->error = true;
  87.                         $this->errortext[] = $lang['errors']['empty_pass'];
  88.                 }
  89.                 else {
  90.                         if(strlen($this->post['password1']) < 6) {
  91.                                 $this->error = true;
  92.                                 $this->errortext[] = $lang['errors']['pass_len'];
  93.                         }
  94.                         else {
  95.                                 if($this->post['password1'] != $this->post['password2']) {
  96.                                         $this->error = true;
  97.                                         $this->errortext[] = $lang['errors']['pass_n_m'];
  98.                                 }
  99.                         }
  100.                 }
  101.                
  102.                 if($this->error) {
  103.                         $errortext = '<font color="#FF0000"><ul><li>'.implode('</li><li>', $this->errortext).'</li></ul></font>';
  104.                         $html->set_var('ERROR', $errortext);
  105.                 }
  106.                 else $this->insert_in_db($html, $lang);
  107.         }
  108. }
  109. new register($lang);
  110. ?>
  111.  

или:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once "common.php";
  4. require_once "modules/getpost.php";
  5.        
  6. $error = false;
  7. $errortext = array();
  8. $show_reg = true;
  9.  
  10. $html = new template(false);
  11. if($_POST) {
  12.        
  13.         $data = new getpost();
  14.        
  15.         if(empty($data->post['username'])) {
  16.                         $error = true;
  17.                         $errortext[] = $lang['errors']['empty_un'];
  18.                 }
  19.                 else {
  20.                         if(strlen($data->post['username']) < 4 || strlen($data->post['username']) > 20) {
  21.                                 $error = true;
  22.                                 $errortext[] = $lang['errors']['un_len'];
  23.                         }
  24.                         else {
  25.                                 $db = new database();
  26.                                 $db->db('num_rows', "SELECT `id` FROM `users` WHERE `username` = '{$data->post['username']}'");
  27.                                 if($db->num_rows) {
  28.                                         $error = true;
  29.                                         $errortext[] = $lang['errors']['un_exists'];
  30.                                 }
  31.                         }
  32.                 }
  33.                
  34.                 if(empty($data->post['password1'])) {
  35.                         $error = true;
  36.                         $errortext[] = $lang['errors']['empty_pass'];
  37.                 }
  38.                 else {
  39.                         if(strlen($data->post['password1']) < 6) {
  40.                                 $error = true;
  41.                                 $errortext[] = $lang['errors']['pass_len'];
  42.                         }
  43.                         else {
  44.                                 if($data->post['password1'] != $data->post['password2']) {
  45.                                         $error = true;
  46.                                         $errortext[] = $lang['errors']['pass_n_m'];
  47.                                 }
  48.                         }
  49.                 }
  50.                
  51.                 if($error) {
  52.                         $errortext = '<font color="#FF0000"><ul><li>'.implode('</li><li>', $errortext).'</li></ul></font>';
  53.                         $html->set_var('ERROR', $errortext);
  54.                 }
  55.                 else {
  56.                         /////
  57.                         unset($db);
  58.                         $db = new database();
  59.                         $sql = "INSERT INTO `users` (`username`, `password`, `sex`, `e-mail`, `reg_time`, `last_visit`) VALUES ('{$data->post['username']}', '{$data->post['password1']}', '{$data->post['sex']}', '{$data->post['email']}', NOW(), NOW())";
  60.                         $db->db('query', $sql);
  61.                        
  62.                         if($db->result) {
  63.                                 $show_reg = false;
  64.                                 $_SESSION['logged_in'] = true;
  65.                                 $sql = "SELECT `id` FROM `users` WHERE `username` = '{$data->post['username']}' AND `password` = '{$data->post['password1']}'";
  66.                                 $db->db('array', $sql);
  67.                                 $_SESSION['id'] = $db->array['id'];
  68.                                 unset($html);
  69.                                 $html = new template($user = new user($lang));
  70.                                 $html->set_filenames(array('welcome' => 'welcome.html'));
  71.                                 $html->set_vars(array('TITLE' => $lang['login']['welcome'].', '.$user->user_data['username'],
  72.                                                                                 'ENTER' => $lang['login']['enter']
  73.                                                                                 ));
  74.                                 $html->parse('welcome');
  75.                         }
  76.                         else {
  77.                                 die('Сбой регистрации');
  78.                         }
  79.                         /////
  80.                 }
  81. }
  82.                
  83. if($show_reg) {
  84.                        
  85.         $html->set_filenames(array('register' => 'register.html'));
  86.         $html->set_vars(array('TITLE' => $lang['register']['title'],
  87.                                                         'USERNAME' => $lang['register']['username'],
  88.                                                         'PASSWORD' => $lang['register']['password'],
  89.                                                         'R_PASSWORD' => $lang['register']['r_password'],
  90.                                                         'SEX' => $lang['sex']['sex'],
  91.                                                         'MAN' => $lang['sex']['M'],
  92.                                                         'WOMAN' => $lang['sex']['W'],
  93.                                                         'EMAIL' => $lang['general']['email'],
  94.                                                         'REGISTER' => $lang['register']['register']
  95.                                                         ));    
  96.         $html->parse('register');
  97. }
  98. ?>
  99.  


если не сложно, проверьте какие недостатки и ошибки
Bio man Отправлено: 27 Июля, 2011 - 14:26:39 • Тема: ООП и структурный подход • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 2547
изначально писал скрипт регистрации на ооп, и решил сравнить с классичеким подходом. время генерации сильно не отличилось, НО как обстоят дела с памятью? какой подход использовать при написании простых страниц, например регистрации, index.php, и других?
Bio man Отправлено: 25 Июля, 2011 - 16:01:11 • Тема: вывод в браузер • Форум: Вопросы новичков

Ответов: 2
Просмотров: 154
хахахаха!!! в файле после тега ?> было много пробелов!
Bio man Отправлено: 25 Июля, 2011 - 15:54:01 • Тема: вывод в браузер • Форум: Вопросы новичков

Ответов: 2
Просмотров: 154
почему такое большое пустое пространство? в чем может быть проблема? вывожу через шаблонизатор, trim() не помогает
(Добавление)
это source code страницы
Bio man Отправлено: 25 Июля, 2011 - 13:59:47 • Тема: вопрос по браузерам • Форум: Вопросы новичков

Ответов: 6
Просмотров: 273
каждый браузер выводит ОС в HTTP_USER_AGENT?
(Добавление)
тоесть ядро ОС
Bio man Отправлено: 25 Июля, 2011 - 00:36:54 • Тема: вопрос по браузерам • Форум: Вопросы новичков

Ответов: 6
Просмотров: 273
grefon пишет:
Я тут класс когда-то выкладывал, который Вам очень поможет.

спасибо
(Добавление)
как он долго выполняется! по проще нечего нету?
Bio man Отправлено: 25 Июля, 2011 - 00:10:30 • Тема: вопрос по браузерам • Форум: Вопросы новичков

Ответов: 6
Просмотров: 273
grefon пишет:
Делайте по HTTP_USER_AGENT, это самый простой и верный способ.

ну это понятно. меня интересует на что проверять? на движок (не знаю в каждом ли браузере пишется название движка) или на само название браузера? если делать второе то это очень долга и код будет длинным, как упрастить?
Цитата:

IE8 впервые начал указывать название своего движка в заголовке UserAgent запроса - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/…).

тоесть IE7 по движку уже не проверишь
Bio man Отправлено: 24 Июля, 2011 - 23:41:09 • Тема: вопрос по браузерам • Форум: Вопросы новичков

Ответов: 6
Просмотров: 273
как определить является ли браузер пользователя web браузером? то есть если зашел с компа то выводим контент для компа, если же с телефона то для телефона... может проверять по движку HTTP_USER_AGENT, то есть если движок допустим Gecko то говорим что это web браузер... или не каждый браузер показывает движок в HTTP_USER_AGENT?
Bio man Отправлено: 24 Июля, 2011 - 23:13:57 • Тема: массивы • Форум: Вопросы новичков

Ответов: 1
Просмотров: 125
столкнулся с вопросом, что лучше, иметь один большой массив или несколько маленьких? что будет производительней? нужно для организации языковых массивов
Bio man Отправлено: 06 Апреля, 2011 - 18:13:39 • Тема: Warning • Форум: Программирование на PHP

Ответов: 6
Просмотров: 377
спасибо
Bio man Отправлено: 06 Апреля, 2011 - 18:03:05 • Тема: Warning • Форум: Программирование на PHP

Ответов: 6
Просмотров: 377
заработало! тока с кодировкой проблема... в скрипте где языковой массив установлена кодировка utf-8 а браузер отображает не в utf-8... в шаблоне в мета теге менял кодировку на utf-8 но без результатов. как решить проблему?

Страниц (183): В начало « ... 175 176 177 178 179 180 181 [182] 183 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB