Посоветуйте, на чем можно реализовать

1 234
Anarchist
На сайте с 23.07.2008
Offline
185
#21

определяет встроенные элементы документа.

не в этом суть. суть в том, что это три строчки кода, они НЕ будут работать. через них НЕЛЬЗЯ управлять данными. Борисович, угомонитесь.

FladeX
На сайте с 07.11.2008
Offline
163
#22

Anarchist, в данном контексте тег <span> ну абсолютно ничего не делает :)

Если б уважаемый знаток идеальных кодов употребил бы атрибут style или class, было бы другое дело. Но все равно придираться можно долго :)

Услуги посредника на бирже контента: информационные статьи 40₽/1000, «продающие» тексты 50₽/1000. Пишите в личку. Помогаю правильно переехать на https (/ru/forum/973447). Подписывайтесь на мой канал в телеграм: https://t.me/fladex (https://t.me/fladex).
[Удален]
#23
FladeX:
Anarchist, в данном контексте тег <span> ну абсолютно ничего не делает :)
Если б уважаемый знаток идеальных кодов употребил бы атрибут style или class, было бы другое дело. Но все равно придираться можно долго :)

мне проще указать не класс каждому тэгу, а использовать следующую конструкцию.

.menu { color: #fff; font-size: 12px; background-color: #333; margin: 0; padding: 0; border-bottom: 3px solid #ffc300; }
.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; }

возможно, не у меня кривые руки... - если вы на то намекали. На досуге

ИМХО, каждый для себя выбирает удобный стиль верстки.

FladeX
На сайте с 07.11.2008
Offline
163
#24

Борисович, так у вас данной конструкции не было, так как вы все "в 10 строчек" реализовывали :)

Да простят меня модераторы за весь этот оффтоп... За сим ухожу из темы.

Dreammaker
На сайте с 20.04.2006
Offline
569
#25
1. $id = if (! isset ( $_GET ["speed"] )){ echo '<script>alert('Fuck You!')</script>'; exit(); } else { $id = strip_tags($_GET ["speed"]);}
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 (судя по этому коду мы не знаем откуда и как были добавлены данные в базу).

[Удален]
#26

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 не нужен для таких целей, а всё можно и проще построить на простых скриптах.

Dreammaker
На сайте с 20.04.2006
Offline
569
#27
Борисович:
К примеру можно просто подключить файлик:

тоже не совсем правильный вариант. Вы не с той стороны подходите к безопасности - гляньте сюда. http://phpfaq.ru/slashes

p.s. Вас случайно, не Виталий зовут? :)

[Удален]
#28

Dreammaker Нет )) Я привел опять же пример элементарной защиты. Я думаю прописать

include('track.php') проще начинающему чем прописывать везде addslashes mysql_escape_string и так далее. Я к примеру, не люблю использовать экранирование кавычек, люблю когда в базе лежит чистый текст, без мусора, да и при смене двига, если на то пошло, или написании нового двига, не будет проблем с переносом базы, так как не во всех движках стоит функция фильтрующая кавычки, например история с даннео, просто ужас было время, когда эти кавычки стояли в горле, а лучше просто фильтровать входящие данные хорошенько и юзать mysql_escape_string при постинге новостей\статей. ИМХО

RAS
На сайте с 27.11.2005
Offline
126
RAS
#29

drupal + hands

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
Dreammaker
На сайте с 20.04.2006
Offline
569
#30
Борисович:
Я к примеру, не люблю использовать экранирование кавычек
Борисович:
юзать mysql_escape_string при постинге новостей\статей

А как это согласуется? :) mysql_escape_string, точнее mysql_real_escape_string как раз то и делает, что экранирует кавычки и в итоге в базу записывается то, что отправляется пользователем.

1 234

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий