Php - мощный и самый популярный на сегодня скриптовый язык програмирования. В данной статье расмотрены основы php.
Я хочу быть спецем в компах, но ничего негде не получается, что делать?
Введение
Как вам уже извесно php сценарии выполняются на стороне сервера, пользовотель видит только результат его работы в виде html. И конешно сам исходник php скрипта пользователь(злоумышлиник), получить не может.
Для более полного понимания этой статьи вам необходимо иметь хотябы начальные познания о кодинге. Грубо говоря если сложить С++, perl и JavaScript то получается php
Азы
Приступая непосредственно к примерам начнём с самого простого, а именно - скрипт выводящий строку текста:
<?
echo "Hello World";
?>
Традиционно мы пичатаем строку Hello World. В php вас ожидает простой и понятный синтаксис. Символы <? и ?> обьявляют начало, и конец скрипта, всё что между этими тегами инициалиируется сервером как пхп скрипт. Функция echo предназначена для вывода сообщений на экран, принимает единственный параметр - текст выводимой строки.
Переменные в php обьявляюся следующим образом:
$имя=значение;
Обязательным является символ $ в начале имени переменной. Явно указывать тип переменной не обязательно, интерпиртатор сам его определяет в зависимости от того как обьявляется переменная. Значение текстовых переменных берутся в кавычки, числа же не берутся.
Чтобы вывести на экран содержимое переменной укажем имя этой переменной при вызове функции echo:
echo "$x";
В php синтаксис некоторых популярных операторов полнейстю иденитичен C++. Возьмём в качестве примера for:
for($i=0;10;$i++){
echo "$i
"; }
Оператору повторения for в качестве параметров передаётся 3 аргумента (1- начальное значение, 2 - конечное значение начального, 3 - что следует делать после завершения одного цикла). В данном случае мы перечисляем все числа от 1 до 10.
На мой взгляд большим плюсом php перед perl'ом является возможность использования прямых вставок пхп кода в чистый хтмл, т.е не нужно каждый раз писать строчку print(""), пример:
<? // код на php ?>
<b>Обычный html</b>
<? // продолжение пхп кода ?>
Очень важно обеспечить фильтрацию всех полей, поля не имеющие фильтрацию могут быть использованы для XSS атаки...
Например в результате работы скрипта:
$x="<script>alert('')</script>";
echo "$x";
В результате выполнения этого скрипта пользователь увидит сообщение, т.е злоумышленник сможет выполнить свой код на стороне юзера.
Но если отфильтровать эту переменную на теги, они будут отображатся как обычный текст:
$x="<script>alert('')</script>";
$x=htmlspecialchars($x);
echo "$x";
К нашему исходнику добавилась функция htmlspecialchars, которая возвращает текст своего параметра, отфильтрованный от хтмл тегов.
Продолжая говорить о безопасности, советую измерять длину строки, и усикать её до определённого размера, если она привышает определённое число. Обеспечить подобное можно используя функцию substr:
$s=substr($s,0,20); // - усечёт длину строки до 20 символов.
Такой подход позволяет предотвратить случай когда кто либо заходит на вашу страничку, и пытаясь скачать 100Мб флуда закрывает её.
Ещё один из методов обеспечения безопасности - разрешение использования только определнных символов, все остальные удаляются. Этот способ лудше чем запрет определённых символов, и разрешение всех остальных, хотябы по тому, чтоэто удобнее для программиста, и можно забыть запретить какой либо выжный для взломщика символ.
Функция ereg_replace позволит воплотить подобную идею в жизнь. Вот пример, в котором удаляются все символы, за исключением цифр:
$id=ereg_replace("[^0-9"],"",$id);
Довольно часто возникает необходимость заменить в одной строке какой либо текст на другой. Это можно сделать используя функцию str_replace. Например необходимо заменить все смайлики - на картинку 1.gif. Исходник:
$stroka="Текст Текст ";
$stroka=str_replace("","<img src=1.gif>");
echo "$stroka";
Таким образом можно использовать анимированые смайлики на странице.
Продолжение читайте в статье php работа с файлами.
©Сopyright 2008 г. by WebKill
При использовании материалов ссылка на WebKill.ru обязательна.