PHP и MySQL

Иногда нужно запустить скрипт или вывести на экран различную информацию в зависимости от устройства. Приведу пример, как сделать это для Android и iPhone


<?php
$browser = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser == true){
$browser = 'iphone';
}
?>

<?php if($browser == 'iphone'){ ?>
Info for iPhone
<?php }else{ ?>
Info for Android
<?php } ?>
Для защиты сайта от самых распространённых {tip Exploit::Компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака).}эксплоитов{/tip}, можно внести код в .htaccess

<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>

При этом этот код желательно внести после того как вы заметили проблемы с заражением вашего сайта. Таким образом этот код попытается заблокировать работу эксплоитов
Для того чтобы избавится от закарлючек и кракозябликов в .htaccess вносим строку

AddDefaultCharset utf-8
Парочка самых простых редиректов через .htaccess

Redirect /content/category/1-home / - на главную
Redirect /component/zoo/item/onas /blogs/alltraders
Redirect /component/zoo/item/124234234 /trust/ok-invest
Redirect /component/zoo/item/akademiya /studies/ok-uchenik
<?php
     echo 'Document root: '.$_SERVER['DOCUMENT_ROOT'].'<br>';
     echo 'Полный путь к скрипту и его имя: '.$_SERVER['SCRIPT_FILENAME'].'<br>';
     echo 'Имя скрипта: '.$_SERVER['SCRIPT_NAME'];
     phpinfo();
?>
Вариантов много, вот некоторые:

Вариант 1

<?php
       mail(Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.','Test mail','The mail function is working!');
       echo 'Mail send!';
?>

Вариант 2

<?php
       $to = "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. - кому
       $subject = "Test mail";
       $message = "Hello! This is a simple email message.";
       $from = "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. - от кого
       $headers = "From:" . $from;
       mail($to,$subject,$message,$headers);
       echo "Mail Send.";
?>

Вариант 3

<?php
$message = ''; if (isset($_POST['email']) && !empty($_POST['email'])){
if (mail($_POST['email'], $_POST['subject'], $_POST['body'], '')){
$message = "Email has been sent to <b>".$_POST['email']."</b>.<br>";
}else{
$message = "Failed sending message to <b>".$_POST['email']."</b>.<br>";
}
}else{
if (isset($_POST['submit'])){
$message = "No email address specified!<br>";
}
} if (!empty($message)){
$message .= "<br><br>n";
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Mail test
</title>
</head>
<body>
<?php echo $message; ?>
<form method="post" action="">
<table>
<tr>
<td>
e-mail
</td>
<td>
<input name="email" value="<?php if (isset($_POST['email'])
&& !empty($_POST['email'])) echo $_POST['email']; ?>">
</td>
</tr>
<tr>
<td>
subject
</td>
<td>
<input name="subject">
</td>
</tr>
<tr>
<td>
message
</td>
<td>
<textarea name="body"></textarea>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<input type="submit" value="send" name="submit">
</td>
</tr>
</table>
</form>
</body>
</html>
Заблокировать данного бота прсто. Добавляем в .htaccess строки

Order Allow,Deny
Allow from all
Deny from 208.115.96.0/24
Deny from 208.115.97.0/24
Deny from 208.115.98.0/24
Deny from 208.115.99.0/24
Deny from 208.115.100.0/24
Deny from 208.115.101.0/24
Deny from 208.115.102.0/24
Deny from 208.115.103.0/24
Deny from 208.115.104.0/24
Deny from 208.115.105.0/24
Deny from 208.115.106.0/24
Deny from 208.115.107.0/24
Deny from 208.115.108.0/24
Deny from 208.115.109.0/24
Deny from 208.115.110.0/24
Deny from 208.115.111.0/24
Deny from 208.115.112.0/24
Deny from 208.115.113.0/24
Deny from 208.115.114.0/24
Deny from 208.115.115.0/24
Deny from 208.115.116.0/24
Deny from 208.115.117.0/24
Deny from 208.115.118.0/24
Deny from 208.115.119.0/24
Deny from 208.115.120.0/24
Deny from 208.115.121.0/24
Deny from 208.115.122.0/24
Deny from 208.115.123.0/24
Deny from 208.115.124.0/24
Deny from 208.115.125.0/24
Deny from 208.115.126.0/24
Deny from 208.115.127.0/24