|
|
|
| В статье БЕЗОПАСНОЕ ПРОГРАММИРОВАНИЕ НА PHP
<?php
// $site_addres можете поменять на свое
// но лучше определить его в "общем" файле
if ($_SERVER['REFERRER'] =! $site_address) die;
?>
|
Что за переменная такая $_SERVER['REFERRER'], может $_SERVER['HTTP_REFERER'] | |
|
|
|
|
|
|
|
для: mihdan
(06.04.2009 в 18:28)
| | А вторую вы допустили? ;-) | |
|
|
|
|
|
|
|
для: sim5
(06.04.2009 в 18:45)
| | :) | |
|
|
|
|
|
|
|
для: sim5
(06.04.2009 в 18:45)
| | Какую? | |
|
|
|
|
|
|
|
для: mihdan
(15.04.2009 в 12:19)
| | =! | |
|
|
|
|
|
|
|
для: sim5
(15.04.2009 в 12:27)
| | Тут вы не правы - в статье так написано, не доглядел, что скопировал | |
|
|
|
|
|
|
|
для: mihdan
(06.04.2009 в 18:28)
| | Спасибо, поправили. | |
|
|
|
|
|
|
|
для: mihdan
(06.04.2009 в 18:28)
| | Посмотрите статью внимательнее. Там еще полно ошибок
Например, там есть код
<?php
// добавляем слеши перед кавычками, чтобы они стали виде escape-последовательности,
// например ' замениться на ', " замениться на "
$_POST['name'] = addslashes($_POST['name']);
// заменяем все специальные символы эквивалентом
$_POST['name'] = htmlspecialchars ($_POST['name']);
// отрезаем все ненужные симовлы
$_POST['name'] = preg_replace("/[^a-z0-9]/i", "", $_POST['name']);
?>
|
В первом комментарии написано реально не то, что делает addslashes(). А в третьем действии удаляются все символы, кроме a-zA-Z0-9, то есть убивается строка, ведь тогда там и бекслешей и апострофов и кавычек не будет, которые тщательно экранировали авторы кода. HTML-мнемоники будут убиты...
Вот еще кусочек кода:
<?php
$sql = "UPDATE users SET $k = $v WHERE user ='$user['name']'";
mysql_query($sql);
|
Скорее всего тут синтаксическая ошибка из-за $user['name']. И вот тут: $k = $v тоже будет ошибка, правда ошибка синтаксиса SQL-запроса.
Вот еще:
Можно организовать проверку и непосредственно в скрипте
<?php
// Не будим доверять пользователю, ведь подправить значение maxlength
// можно и на локальной машине
substr($_POST['user'], 0, 32);
?>
|
Возвращаемое значение уходит в пустоту.
ЗЫ И плохо, что нигде нет даже упоминаний о magic_quotes_gpc | |
|
|
|
|
|
|
|
для: Лерк
(09.04.2009 в 10:59)
| | Да, статья очень старая, нужно полностью переписывать. | |
|
|
|
|
|
|
|
для: cheops
(09.04.2009 в 14:47)
| | Хотел то же самое написать :) | |
|
|
|
|
|
|
|
для: psychomc
(09.04.2009 в 15:16)
| | psychomc, молодец :) | |
|
|
|
|
|
|
|
для: Лерк
(09.04.2009 в 16:23)
| | я в курсе )))) | |
|
|
|