PHP.SU

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

Страниц (25): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 374
VestCoastman Отправлено: 08 Декабря, 2013 - 19:24:28 • Тема: Вопрос по безопасности • Форум: Вопросы новичков

Ответов: 5
Просмотров: 235
Мелкий пишет:
Проверьте глобальные переменные, не включены ли по ошибке.
Затем - как формируется оный $user

регистер глобалс отключены
Как формируется $user не знаю, сейчас придется ковыряться. Движок не мой.
(Добавление)
Впрочем не важно. Данный хак возможен при неверной переменной $user и/или глобальных переменных, так? Или есть еще какие-то способы?
VestCoastman Отправлено: 08 Декабря, 2013 - 18:20:46 • Тема: Вопрос по безопасности • Форум: Вопросы новичков

Ответов: 5
Просмотров: 235
Здравствуйте, товарищи.
Сегодня наткнулся на такую вещь.
Пользователи получают спам в личные сообщения от пользователя с пустым ником и идентификатором 0.
В сообщении написано "SomeCustomInjectedHeader:injected_by_wvs"
В начале скрипта стоит строгая проверка if(!empty($user)){ header('Location: ...'); exit; }

Собственно, куда копать? Ниндзя
VestCoastman Отправлено: 24 Ноября, 2013 - 23:08:28 • Тема: не пашет UPDATE • Форум: SQL и Архитектура БД

Ответов: 17
Просмотров: 116
Замените
PHP:
скопировать код в буфер обмена
  1. $query = 'SELECT title, description FROM items WHERE id='.$_GET['id'];

на
PHP:
скопировать код в буфер обмена
  1. $id = intvale($_GET['id']);
  2. $query = "SELECT title, description FROM items WHERE id='$id'";
VestCoastman Отправлено: 19 Ноября, 2013 - 14:15:14 • Тема: Проектирование • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 1639
Всё. Реорганизовал структуру, сделал всё, что не классы базы, пользователи или конфигурация - модулями с конструкторами, принимающими как аргумент объект, состоящий из перечисленных классов. Ни нагрузки, ни глобальных переменных, ни путаницы=)

P.S. Тему можно закрывать.
VestCoastman Отправлено: 19 Ноября, 2013 - 10:38:51 • Тема: Проектирование • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 1639
_Dark_, без аргументов, я могу сказать о вас тоже самое

EuGen, News я взял для примера. Предположим, что новости могут просматривать только авторизованные пользователи, следовательно, чтобы это узнать и нужен класс юзер.
VestCoastman Отправлено: 19 Ноября, 2013 - 10:04:20 • Тема: Проектирование • Форум: Объектно-ориентированное программирование

Ответов: 8
Просмотров: 1639
Имеется общий класс вида
PHP:
скопировать код в буфер обмена
  1. class obj{
  2.    public $db;
  3.    public $tpl;
  4.    public $user;
  5.    public $news;
  6.    public function __construct(){
  7.       $this->db = new db;
  8.       $this->tpl = new tpl;
  9.       $this->user = new user;
  10.       $this->user = new news;
  11.    }
  12. }
  13.  
  14. $obj = new obj;


Естественно у всех объектов есть свои конструкторы, которые делают запрос(ы) к базе.
Теперь, если мне понадобится, например, в классе news проверить, существует ли пользователь, я должен сделать extends класса user и вызвать его конструктор еще раз, а это еще + к запросам в базу, что является неверным вариантом + еще и вызовет ошибку, т.к. нет extends db

Объясните, как быть Растерялся ?
VestCoastman Отправлено: 17 Ноября, 2013 - 15:15:08 • Тема: Ох уж эти конструкторы • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2103
Точно. Забыл про вызов родительского конструктора. Спасибо. Улыбка

P.S. Тему можно закрывать.
VestCoastman Отправлено: 17 Ноября, 2013 - 15:08:57 • Тема: Ох уж эти конструкторы • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2103
EuGen, ах вот в чем проблема. У меня, получается, в классе b определен собственный конструктор :/
Можно ли в таком случае к ним обратиться?
VestCoastman Отправлено: 17 Ноября, 2013 - 14:56:38 • Тема: Ох уж эти конструкторы • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2103
Да, действительно. Спасибо.
(Добавление)
Стоп, так в данном случае, я обращусь к данным переменным, но не получу их значения, указанные в конструкторе, то бишь HelloWorld
VestCoastman Отправлено: 17 Ноября, 2013 - 14:41:09 • Тема: Ох уж эти конструкторы • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2103
Застрял на обращении к переменной

PHP:
скопировать код в буфер обмена
  1. class a {
  2.    public $var1 = '';
  3.    protected $var2 = '';
  4.  
  5.    public function __construct(){
  6.       $this->var1 = 'Hello';
  7.       $this->var2 = 'World';
  8.       return true;
  9.    }
  10. }
  11.  
  12. class b extends a{
  13.    public function welcome(){
  14.       return a::var1.a::var2;
  15.    }
  16. }
  17.  
  18. $b = new b;
  19.  
  20. echo $b->welcome();


Пытаюсь обратиться к var1 и var2 класса a через класс b. Естественно тут будет ошибка и HelloWorld я не получу, т.к. эти переменные находятся в конструкторе.

Естественно я могу сделать конструктор в классе b и туда затолкнуть $a = new a; Но в таком случае, я смогу обратиться только к публичной переменной.

Так как мне все таки правильно обратиться к переменным var1 и var2 через метод welcome в классе b?
VestCoastman Отправлено: 30 Октября, 2013 - 22:10:22 • Тема: Подскажите по наследованию • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1796
А, там конструктор... Не заметил. Тогда так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class Class1
  3. {
  4.     public $test;
  5.  
  6.     function __construct()
  7.     {
  8.         $this->test = 'Напечатай меня в методе run2 в классе Class2';
  9.     }
  10.    
  11.     public function test(){ return $this->test; }
  12.  
  13. }
  14. $cl1 = new Class1();
  15.  
  16. class Class2 extends Class1
  17. {
  18.         function __construct()
  19.         {
  20.                 $this->run2();
  21.         }
  22.  
  23.     function run2()
  24.     {
  25.         echo Class::1test();
  26.     }
  27. }
  28. $cl2 = new Class2();
  29. ?>
VestCoastman Отправлено: 30 Октября, 2013 - 22:05:54 • Тема: Подскажите по наследованию • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 1796
echo $this->test;
echo Class1::test;
VestCoastman Отправлено: 29 Октября, 2013 - 21:35:41 • Тема: Общие вопросы • Форум: Вопросы новичков

Ответов: 7
Просмотров: 282
Хранить время в unix-time формате, ну или простым языком функцией time()
VestCoastman Отправлено: 29 Октября, 2013 - 01:08:11 • Тема: не назначается PHPSESID • Форум: Вопросы новичков

Ответов: 11
Просмотров: 381
Вначале надо запустить сессию, а затем уже ее проверять
VestCoastman Отправлено: 29 Октября, 2013 - 01:06:52 • Тема: Помогите! Не записываются данные в базу • Форум: SQL и Архитектура БД

Ответов: 24
Просмотров: 164
Да тут всё нужно удалить и написать заного.
1. Вы назначаете переменную, а затем проверяете её на существование
2. Редирект вы делаете через <meta>
3. Переменные вставляете в кавычки

Страниц (25): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB