- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
определяет встроенные элементы документа.
не в этом суть. суть в том, что это три строчки кода, они НЕ будут работать. через них НЕЛЬЗЯ управлять данными. Борисович, угомонитесь.
Anarchist, в данном контексте тег <span> ну абсолютно ничего не делает :)
Если б уважаемый знаток идеальных кодов употребил бы атрибут style или class, было бы другое дело. Но все равно придираться можно долго :)
Anarchist, в данном контексте тег <span> ну абсолютно ничего не делает :)
Если б уважаемый знаток идеальных кодов употребил бы атрибут style или class, было бы другое дело. Но все равно придираться можно долго :)
мне проще указать не класс каждому тэгу, а использовать следующую конструкцию.
.menu a:link,.menu a:visited { color: #fff; text-decoration: none; padding: 2px 5px; }
.menu a:hover,.menu a:active { text-decoration: underline; padding: 2px 5px; }
.menu img { width: 16px; float: left; }
.menu span { width: auto; float: left; padding: 5px; }
возможно, не у меня кривые руки... - если вы на то намекали. На досуге
ИМХО, каждый для себя выбирает удобный стиль верстки.
Борисович, так у вас данной конструкции не было, так как вы все "в 10 строчек" реализовывали :)
Да простят меня модераторы за весь этот оффтоп... За сим ухожу из темы.
2. $item = $db->fetchrow ( $db->query ( "SELECT * FROM web_news WHERE id = $id LIMIT 1"));
3. echo '<h1>'.$item['title'].'</h1><p><img src="'.$item['image'].'" alt="'.$item['title'].'"><span>'.$item['text'].'</span></p>';
1,2 строка - инъекция, strip_tags очищает от немного другого, а класс, которые вы используете как видно не использует плейсхолдеров или же других механизмов защиты.
3 - строка потенциальное XSS (судя по этому коду мы не знаем откуда и как были добавлены данные в базу).
Dreammaker я привел пример, не прямое решение задачи. Наталкивая на мысль, что всё это можно написать и сверстать за один день, входящие данные фильтровать думаю труда не составит.К примеру можно просто подключить файлик:
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']!="-"){
define('USER_AGENT',$_SERVER['HTTP_USER_AGENT']);
}else{ die(); }
if($_SERVER['REQUEST_METHOD']=='TRACE'){ die('Попытка взлома!'); }
if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])){ die('Попытка взлома!'); }
if(!is_array($GLOBALS)){ die('Попытка взлома!'); }
$badcount = 0;
$baddata = array("UNION",
"OUTFILE",
"FROM",
"SELECT",
"WHERE",
"SHUTDOWN",
"UPDATE",
"DELETE",
"CHANGE",
"MODIFY",
"RENAME",
"RELOAD",
"GRANT",
"DROP",
"INSERT",
"CONCAT",
"cmd",
"exec",
"--",
// HTML LINE
"\([^>]*\"?[^)]*\)",
"<[^>]*body*\"?[^>]*>",
"<[^>]*script*\"?[^>]*>",
"<[^>]*object*\"?[^>]*>",
"<[^>]*iframe*\"?[^>]*>",
"<[^>]*img*\"?[^>]*>",
"<[^>]*frame*\"?[^>]*>",
"<[^>]*applet*\"?[^>]*>",
"<[^>]*meta*\"?[^>]*>",
"<[^>]*style*\"?[^>]*>",
"<[^>]*form*\"?[^>]*>",
"<[^>]*div*\"?[^>]*>");
if(!isset($_REQUEST)) return;
foreach($_REQUEST as $params => $inputdata){
foreach($baddata as $badkey => $badvalue){
if(is_string($inputdata) && eregi($badvalue,$inputdata)){ $badcount=1; }
}
}
if($badcount==1){
echo "Попытка взлома!";
exit();
}
можно и для каждого отдельно прописать.
Я имел ввиду что двиг такой как DLE не нужен для таких целей, а всё можно и проще построить на простых скриптах.
К примеру можно просто подключить файлик:
тоже не совсем правильный вариант. Вы не с той стороны подходите к безопасности - гляньте сюда. http://phpfaq.ru/slashes
p.s. Вас случайно, не Виталий зовут? :)
Dreammaker Нет )) Я привел опять же пример элементарной защиты. Я думаю прописать
include('track.php') проще начинающему чем прописывать везде addslashes mysql_escape_string и так далее. Я к примеру, не люблю использовать экранирование кавычек, люблю когда в базе лежит чистый текст, без мусора, да и при смене двига, если на то пошло, или написании нового двига, не будет проблем с переносом базы, так как не во всех движках стоит функция фильтрующая кавычки, например история с даннео, просто ужас было время, когда эти кавычки стояли в горле, а лучше просто фильтровать входящие данные хорошенько и юзать mysql_escape_string при постинге новостей\статей. ИМХО
drupal + hands
Я к примеру, не люблю использовать экранирование кавычек
юзать mysql_escape_string при постинге новостей\статей
А как это согласуется? :) mysql_escape_string, точнее mysql_real_escape_string как раз то и делает, что экранирует кавычки и в итоге в базу записывается то, что отправляется пользователем.