Теперь приступим к делу. В первой части я расскажу о тех вещах, которые будут очень полезны для новичка, но все профессионалы о них знают!    1. Основы защиты кода. Переопределение переменных.    Самый простой пример это взлом различных скриптов защищенных паролем. Суть данного вида взлома заключается в том, что, например, для входа в админ-панель пользователь вводит пароль и если пароль правильный, то переменной $a присваиваем значение «1». И проверяем: если $a=”1”, то доступ открыт!    Но данный скрипт можно обмануть следующим образом – ввести в адресной строке «http://site.ru/admin/script.php?a=1».    Итог. Всегда проверяйте все свои переменные. ОСОБЕННО в местах повышенной защищенности, таких как админ-панели, корзины пользователей и т.д.    Так же узнать об этой переменной никак нельзя, если скрипт будет закрытым. Цитирую «Закрытость исходного кода в определенной степени увеличивает защищенность   приложения».    2. Основы оптимизации. Оптимизация кода.    Про оптимизацию кода можно говорить ооочень много! Но я остановлюсь на самых важных и основных вещах. Как известно, оптимизированный, сокращенный или ПРАВИЛЬНЫЙ PHP очень сильно влияет на быстродействие скрипта.    Во-первых, мы поговорим о оптимизация функций, конструкций и структур. Очень распространенная ошибка в плане неоптимизированного кода является использование старого стиля PHP. Пример такого кода можно найти в статье «21 распространенная ошибка PHP-программиста». Вот он сам пример:  // Старый стиль  while (1):  print "5";  if ( $idx++ == 5 ):  break;  endif;  endwhile;    // Лучше написать так  while (1)  {  print "5";  if ( $idx++ == 5 ) {  break;  }  }    Так же очень часто люди любят писать лишние строчки и создавать новые переменный просто так. Например, пишут такое:    …  $a = 0;  $b = $a+1;  echo “$b”;  …    Вместо этого можно написать:  …  echo $a++;  …    Почти все скрипты сейчас работают с различными БД, а почти все запросы к БД идут на языке SQL. Я хочу дать несколько советов по правильному использованию SQL, за счет чего вы сможете очень сильно увеличить быстродействие своего скрипта.    • Очень важно делать точный SQL-запросы. Т.е. вместо «SELECT * FROM table_name» намного лучше будет ввести «SELECT field1, field2, uid FROM table_name WHERE uid LIKE '1'». Это намного увеличит производительность любого веб-приложения и заметно уменьшит нагрузку на сервер. Еще ничего если у вас на одной странице 1-2 SQL запроса, а если их там 40?? Тогда без оптимизации ваш скрипт будет работать медленно и будет сильно, грузить сервер провайдера.  • Для получения данных из баз MySQL или других похожих есть множество встроенных функций в PHP. Самая распространенная – mysql_result, НО (не многие знают) по производительности она далеко не самая быстрая. Самый оптимальный вариант для любого PHP-программиста – использование функции mysql_fetch_array. Данная функция записывает результат из базы в массив и если результатов очень много, то это заметно убыстрит ваш скрипт!  • Используйте постоянные соединения! Т.е. подключитесь к базе один раз в начале выполнения сценария и отключитесь в конце. Очень многие делают ошибку – для каждого SQL-запроса отдельно подключаются к базе.  • Используйте как можно меньше таблиц. Попробуйте оптимизировать вашу базу и сделать поменьше таблиц. Для среднего скрипта следует использовать не более 10-15 таблиц в базе.    Это далеко не все, что касается оптимизации, но новичку это должно очень помочь и если вы будете следовать этим советам, то увидите – ваши скрипты будут работать намного быстрее и лучше.     На этом первая часть заканчивается. Во второй части мы поговорим поподробнее о методах защиты и т.д.  |