Логин:   Пароль:   
   
 
X   Сообщение сайта
(Сообщение закроется через 2 секунды)
 
История благодарностей участнику Nyaka ::: Спасибо сказали: 154 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
26.1.2014, 14:31 Интернет-видео
Slognii,
6.1.2013, 15:44 Игровая площадка Белгорода
Правила, правила... Кто читает и беспрекословно выполняет правила? Да никто.
Человек должен быть провереный. Стим - не есть защита от кретина, разве что от наглого использования читов.
Да и суть ты опять не уловил: почему я должен делать тебе добро (следить за сервером) и за это еще платить деньги?
Нет, я не против платы за ВИПов и слоты, но вот с админами большая глупость.

PS"Классика" жанра:
- only dust2_2x2 server и\или прочий отстой
- покупка админки
- дешевый хостинг + лаги
- баны якобы за софт
- миллион плагинов

Мало того, ты еще очень нехороший человек.
Теперь моя ЦС подключается автоматом к твоему серверу.
Думаю все кто зайдет в этот топик сделают выводы.
Necromag, niceone1337,
6.1.2013, 14:46 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Нууу.
Ты же авторизуешь пользователя, затем убираешь из результатов пароль и сохраняешь данные в сессию.
Получается, что в сессии у тебя уже как минимум: uid, username + дополнительные столбцы
Вот и используй запросы вида:
Код
mysql_query("SELECT * FROM `my_table` WHERE uid=" . $_SESSION['usercf']['id']);
mysql_query("UPDATE `my_table` SET var=123 WHERE uid=" . $_SESSION['usercf']['id']);
Аналогично с INSERT и DELETE
NewUse,
5.1.2013, 23:25 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Не совсем понятно что за "пользователь php":
1) Пользователь сайта
2) Пользователь, из под которого исполняются скрипты
3) Пользователь БД

Пользователю БД можно проставить права только так: глобальные, на бд, на таблицу, на конкретный столбец таблицы (т.е. на конкретную строку нельзя).
Единственный вариант - к таблице добавить столбец "user_id", в которой будет храниться ID пользователя и при всех действиях он будет проверяться.
NewUse,
5.1.2013, 16:42 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Цитата(NewUse @ 5.1.2013, 17:31) *
Чтоб вводимые данные пользователя не интерпретировались как команды php а имели "жёсткий" тип string?

Ээ? Ты хочешь использовать функцию eval()?
Тут только проверка данных. Ну или на крайняк base64:
Код
$string = base64_encode($_POST['text']);
function myfunc($string)
{
    $string = base64_decode($string);
    echo $string;
}
eval('myfunc('.$string');');
NewUse,
4.1.2013, 16:12 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
magic_quotes_gpc является устаревшей и удаленной уже в пхп 5.4.0. Она может не все экранировать + к тому без учета кодировки. К тому же она может экранировать не то что надо, в итоге мы получаем неожиданные результаты (начиная с двойного экранирования, заканчивая ошибкой в логике).

Если эти переменные не содержат ничего плохого и это проверено, то можно обойтись и без экранирования, да.

Если
Код
unset($_SESSION['password']);
print_r($_SESSION);

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

Кстати, замени mysql_fetch_array на mysql_fetch_assoc (тебе же не нужны числовые ключи в массиве?)
NewUse,
4.1.2013, 15:18 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Я думаю, что такая магия из-за register_globals. Ты его отключил или только код немного поменял?
Код, заточенный под такой режим, лучше не трогать, ибо потом магии может быть очень много (с чем ты уже начинаешь сталкиваться).
Если Магомед не идет к горе, то... попробуй сделать так:
Код
unset($ucercf['password']);
unset($_SESSION['password']);

или на крайняк попробуй так:
Код
unset($password);


Чтобы больше не сталкиваться с этим идиотизмом, нужно полностью переписать код без учета регистр_глобалс. Так же советую отключить директиву magic_quotes_gpc (та еще дрянь, однако придется уделять больше внимания подставляемым в SQL запрос пользовательским данным: почему).
Как только отключишь эти 2 директивы, так сразу результаты работы более ожидаемыми.
Как и где отключить:
  1. В настройках php (наилучший вариант): ищи php.ini
  2. В настройках апача (нежелательно) или виртуальных хостах апача:
    Код
    php_admin_flag register_globals off
    php_admin_flag magic_quotes_gpc off
  3. В хтакцессе (можно продублировать, так надежнее в случае изменения 1и2 пунктов):
    Код
    php_flag register_globals off
    php_flag magic_quotes_gpc off

* magic_quotes_gpc - автоматически экранирует все входящие от пользователя данные, чтобы не было случайной SQL-инъекции на кривом коде

более менее правильный код

Код
<?

session_start();

// Глянь разницу м\у include и require, тут это критично
require './include/mysql.php';

// Условие немного поменял - теперь красивее и меньше варнингов в случае
// отсутствия переменной $_POST['show_lang'], убираем ненужные скобки
if (empty($_POST['show_lang'])) $_SESSION['show_lang'] = LANG_DEFAULT;


if (empty($_POST['user']) || empty($_POST['password'])) $badpass = ''
else
{
    // Предполагаем, что пароль был введен неверно
    $badpass = $TXT_001;
    
    login_syntax_check($_POST['user']);
    login_syntax_check($_POST['password']);
    
    // Экранируем входящие данные, иначе будет SQL-инъекция (не забываем,
    // что магические кавычки должны быть отключены!
    $query = "SELECT * FROM `" . NIBS_AUTH_TABLE . "` WHERE `user`='" . mysql_real_escape_string($_POST['user']) . "'";
    
    // Выносим операцию в условие. Если никаких данных не пришло, то
    // $result = false и условие не выполнится, иначе ... :)
    if ($result = my_query($query, LINK, __FILE__, __LINE__))
    {
        $usercf = mysql_fetch_array($result);
        $password = $_POST['password'];
        
        // crypt_method написал в кавычках, иначе вываливается варнинг +
        // инициализируется константа аля define('crypt_method', 'crypt_method')
        switch ($usercf['crypt_method'])
        {
            case 1:
                $password = crypt($password, $usercf['password']);
                break;
            
            case 2: break; // Оставил на случай добавления ништяков
            case 3: break; // Оставил на случай добавления ништяков
        }
        
        if (!empty($password) && $password == $usercf['password'])
        {
            // Убираем пароль чтобы он не появлялся в сессии
            unset($usercf['password']);
            
            // GID ведь число? Зачем его записывать в кавычках?
            // Если нет, то надо их вернуть :)
            $query   = "SELECT * FROM `" . NIBS_PACKETS_TABLE . "` WHERE `gid`=" . $usercf['gid'];
            $result  = my_query($query, LINK, __FILE__, __LINE__);
            $packres = mysql_fetch_array($result);
            
            // Записываем данные в сессию
            $_SESSION['usercf']  = $usercf;
            $_SESSION['packres'] = $packres;
            
            // Убрал кучу лишнего кода. Зачем он, если после этого закрывается
            // дальнейшая обработка скрипта?
            header('Location: index.php');
            exit;
        }
    }
}

include './templates/header.php';
include './menu/login_menu.php';
include './templates/end.php';

// Закрывающий ? > убрал, он не обязателен и даже нежелателен в конце скрипта

NewUse,
3.1.2013, 23:51 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Исправлять такой код под новые версии и безопасность смысла нет никакого. Логичнее осмыслить его и написать заного, как минимум из-за того что где-то можно случайно пропустить исправляемый код.
Данные могут передаваться не обязательно из $_POST, скорее всего тут просто автоматом подгружается из сессии+куков+запросов.

register_globals распространяется на: $_GET, $_POST, $_REQUEST (это гет + пост), $_SESSION, $_COOKIE, $_SERVER, $_ENV, $_FILES (в том числе и на устаревшие массивы типа $HTTP_SESSION_VARS).
register_globals (так же как и session_register()) в пхп 5.3.* помечено устаревшей, а в 5.4.* удалено.


Попробуй так:
Код
<? if (isset($_SESSION['usercf']['framed_ip'])): ?><td align=center nowrap=nowrap><?=$_SESSION['usercf']['framed_ip']?></td><? endif; ?>


Парочка замечаний чтобы не было вопросов по количеству изменений:
1) Так как проблема скорее всего в подстановке значения элемента массива внутри двойных кавычек, то выводим отдельно от них. Например, с помощью конкатенации строк (однако я сделал несколько иначе):
Код
echo "<td align...>" . $_SESSION['atata'] . "</td>";

2) Здесь:
Код
$_SESSION['usercf'][framed_ip]
framed_ip надо вписать в кавычки. Иначе framed_ip распознается как константа, а не как строка. Так как эта константа не существует, то она создается с таким же значением, к тому же при полном выводе ошибок (уровень E_ALL) вываливается предупреждение.
3) Лучше использовать упрощенный синтаксис пхп (обычно используют в пхп шаблонах):
- Код начинается не обязательно с <?php, достаточно <?
- Чтобы вывести данные не надо писать <? echo $var; ?>, можно <?=$var?>
- Конструкция if (условие) {<да>} else {<нет>} превращается в: if (условие): <да> else: <нет> endif;
4) Если $_SESSION['usercf']['framed_ip'] не существует, условие-то выполнится, но при уровне E_ALL вывалит предупреждение. Чтобы этого избежать используем
Код
if (isset($_SESSION['usercf'])['framed_ip'])

или вместо isset можно использовать функцию empty (еще и проверит не пустое ли значение переменной: NULL, пустая строка, false, 0, array())
Код
if (!empty($_SESSION['usercf'])['framed_ip'])


PS Я тебе еще не надоел советами? smile.gif
NewUse,
30.12.2012, 23:53 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Цитата(AleksZ @ 29.12.2012, 14:12) *
не охота тему создавать, для простого вопроса.

есть 3 хостинга, на них лежат сайты. лазю туда по ФТП только я, с одного компа. так вот, на сайтах раз в полгода заводится вирус (скрипт добавляется в код сайта.) причем сразу на 3 хостинга. всегда ночью и время примерно одно.
менять пароли на хостинг? на двух могу поменять, а третий - "потерян".

вирус получается на моём компе есть?

Вполне вероятно.
Пароли сохраняются? Какой клиент используется?

Дело может быть вовсе не в фтп, а в дырявых скриптах (т.е. сайтах) + дырявом хостинге (не запирает пользователя в конкретной папке для конкретного сайта).
Но первое на что стоит обратить внимание - да, как раз на фтп и вирусню на компе.
AleksZ,
17.12.2012, 20:18 проблема кс1.6(стим)
Вполне может быть, что виновата сама игра, а не интернет и комп.
В момент респавна происходит достаточное количество вычислений и получения\передачи данных. Например: перемещения игрока, загрузка и обработка локации, обновление информации об игроках, спавн игроков (появления игроков на карте + оружие + оружие в руках), обновления статуса игрока (хп, армор, бабло и прочее) + к тому с прошлого раунда может остаться анимация от взрыва бомбы (звук, тряска и прочее) + куча сторонних событий.

Например, у меня на ноутбуке игра частенько фризится на доли секунды при воспроизведении звуком (радиокомманд и даже от оружия).
Хотя есть вероятность того, что виновником является не игра, а ввод\вывод данных на хдд (как у меня выше). Причиной этому может быть как банальная фрагментация данных, занятость хдд другими процессами, так и другие проблемы.
DimаS,
7.12.2012, 21:38 Юмор автомобильный (часть 1)
Ололоев,
6.12.2012, 21:45 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Тебе сказать кто этот шаблон делал? Большой Чудак на большую букву Ч.
Кстати, у тебя под блоком "онлайн чат" есть чёрная ссылка на черном фоне: Archive.

1) Делать такие глобальные стили для полей ввода (впрочем и для других тагов) не надо. Нужно применять стили только к конкретным элементам.
Для
Код
<div class="sidebar"><a href="#">asdasd</a></div>
используем
Код
.sidebar a { }

Кстати, обрати внимание на T: #sidebart a { .. } - первая ошибка.
Вторая ошибка: ты указал для блока класс, а не id (селекторы по id: #selector, по классу: .selector). Приведу пример, мб поймешь в чем ошибка:
Код
<div id="object-id">qwerty</div>
<div class="atata">op-op-opapa</div>
<style>
#object-id { color: red; }
.atata { color: blue; }
</style>

Результат:
qwerty
op-op-opapa

2) Вот этот код:
Код
  background-color: #fff;
  background:url(images/form_bg.png);
  background-position:left top;
  background-repeat:no-repeat;


Можно заменить на:
Код
background: #fff url(images/form_bg.png) left top no-repeat;


3) Смысла в нескольких шрифтах с одной системы нету, достаточно указать "Tahoma, sans-serif;" ну и опять же поправочка:
Код
font: 8pt Tahoma, sans-serif;


4) Цвет текста в быстром поиске - белый, цвет фона - черный. Проблемы не вижу.

5а) Один и тот же блок свойств можно указать сразу для нескольких селекторов через запятую.
У тебя:
Код
#sidebarcontent a { color: #fff; }
#sidebart a { color: #fff; }

Можно:
Код
#sidebarcontent a,
#sidebart a { color: #fff; }


5б) Указывать ВТОРОЙ раз стили для "#sidebarcontent a" не надо, т.к. они уже наследованы от "#sidebar a". Точнее не наследованы, а присвоены (потому что стиль применяется для всех дочерних A, а не только к корневым).




Кстати, никто не подскажет как можно нормально потестить на совместимость в IE?
Просто на рабочем компе стоит IE9, там всё еще куда ни шло работает. Режим совместимости не такой убогий как сами старые версии (проверил страничку дома - просто ад).
Abarth,
25.11.2012, 23:07 Дневник автолюбителя & Автомобильная курилка (часть 1)
Цитата(monstra @ 25.11.2012, 23:10) *
Дык именно, нужно для ипада и прочих, недоделанных, типа андрюхи, девайсов...

offtopic
На андройде webm поддерживается на ура. А вот флеш для воспроизведения видео я бы для планшетов явно не рекомендовал: на яблоках его нету, на андройде по-хорошему тоже + он тормозной.
Если под мобильные платформы, тогда можно смело конвертить в h264 и использовать html5 видео, заодно и флешем можно подхватить.
Про поддержку html5 видео: http://caniuse.com/video (снизу есть ссылочки на форматы видео и их поддержку браузерами).

Вообще лучше перетечь в тематическую ветку.
monstra,
25.11.2012, 21:59 Дневник автолюбителя & Автомобильная курилка (часть 1)
Цитата(monstra @ 25.11.2012, 21:36) *
З.Ы.Ы. Кто нить знает, как по http расшарить видео-контент, под никсами? red5 и вовзилу пробовал, пока не победил, а адобовский сервак, пока стремно (dlna и upnp не интересно, так как слишком просто)... Понимаю, что не в тему, а вдруг...

offtopic
А какие цели у сервера?
Если просто обработка и раздача статики с псевдо-стримингом, то можно извратиться с помощью ffmpeg и расширениями к хттп-серверу (mod_flv / mod_h264 / или конвертить в webm и забыть про яблочные и мелкомягкие браузеры).
Если стриминг, то тут уже без одного из заявленных не обойтись smile.gif
monstra,
22.11.2012, 21:01 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Ну так ты изменяешь цвет ссылок "глобально" (а точнее для тех тегов A, у которых не указаны свои стили).
А тебе нужно указать цвет ссылок именно для этого блока:
  • узнаем селектор блока (id или класс) (я уже узнал, id=userlayer и в css это будет #userlayer)
  • далее в цсс добавляем:
    Код
    #userlayer a { color:#fff; }


Инфа про наследование свойств на примере:
Если ты пытаешься изменить стили просто к селектору A, то они поменяются для объектов где не указаны свои стили.
Примерчик:
Код
<style>
A {color: #f00;}
.my-block a {color: #00f; }
</style>
<a href="link">Text1</a>
<div class="my-block"><a href="link2">pew-pew</a></div>

Результат:
Text1
pew-pew

Очень советую узнать побольше про инструменты разработчика: Firefox Firebug, Opera Dragonfly и тд. Они сейчас есть в каждом браузере, даже в IE.
Чем они хорошо, что они позволяют?:
  • смотреть код (хтмл+цсс) выбранного элемента (при том при наведении он выделяется).
  • редактирование кода и стилей прям в браузере
  • отладка css и жабаскрипт
  • просмотр в каком порядке и как долго загружаются файлы в виде горизонтальной "диаграммки"
  • прочие няшки


Цвет текста в выпадающей менюшке изменяется изменением цвета для этого объекта:
Код
select { color: #000; }

Или возможно этому объекту можно поменять цвет фона:
Код
select { background-color: #000; color: #fff; }

Опять же не забудь указать этот селектор именно для этого блока, т.к. иначе он применится ко всем остальным объектам.
Код
#searchlayer select { atata }
Abarth,
14.11.2012, 0:37 Сжатие видео FFmeg
В первую очередь необходимо знать разницу м\у контейнером (форматом файла) и кодеком. Кодек - то чем сжимается аудио\видео, т.е. "сам алгоритм". Контейнер - способ хранения медиаданных.

Интересная ситуация сейчас с поддержкой видеоформатов в хтмл5.
Все популярнейшие браузеры в России (хромик, лисичка, орега) отлично держат WebM, но с h264 не очень дружат. А вот отсталые (ie и сафари) наоборот держат только h264, а WebM наотрез не поддерживается (мб это все из-за споров "гугл - аппл\мелкие"?).
Почему я написал "в России"? Потому что в Америке очень неплохой популярностью пользуются IE и Сафари.

Если видео проигрывается только после скачки всего файла, то скорее всего придется еще и переносить загаловки видео в начало файла с помощью утилиты qt-faststart (в случае с хтмл5 изучить этот вопрос). Что такое заголовки и зачем они нужны: заголовки указывают временную позицию в файле для синхронизации аудио\видео. Генерируются они после конвертирования всего видео и записываются в конец файла.

Еще видео можно конвертить с постоянным (CBR = Constant BitRate) и с переменным битрейтом (VBR = Variable BitRate).
Помню при енкодинге видео с помощью х264 для постоянного битрейта приходилось добавлять кучу всяких параметров:
Код
ffmpeg.exe -y -i in.mp4 -s 640x340 -v 1 -vcodec libx264 -b 1534k -bt 175k -refs 1 -deblockalpha 0 -deblockbeta 0 -subq 6 -me_range 21 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq blurCplx^(1-qComp) -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 1534k -bufsize 2M -cmp 1 -acodec aac -ab 128k -ar 44100 -ac 2 -f mp4 out.mp4

Если убрать кучу магических файлов, то конвертирование видео сводится примерно к такому:
Код
ffmpeg.exe -y -i in.mp4 -s 640x340 -vcodec libx264 -b 1534k -acodec aac -ab 128k -ar 44100 -ac 2 -f mp4 out.mp4

-y - перезаписывать файл
-i - входной файл
-f - выходной формат
-s - размер видео
-vcodec - видеокодек
-b - битрейт видео
-acodec - аудиокодек
-ab - битрейт аудио
-ar - частота дискредитации аудио
-ac - количество аудиоканалов
И в конце указывается выходной файл.

Подробнее почитать про параметры можно тут: http://help.ubuntu.ru/wiki/ffmpeg

Про ffmpeg, WebM и конвертирование под веб: http://www.azure.org.ua/en/articles/8-ffmp...cii_v_vebe.html
stiv,
15.10.2012, 19:04 Фото ваших автопитомцев -)))

Еще одна свадьба предстоит на эти выходные %)
monstra,
1.10.2012, 0:52 Юмор автомобильный (часть 1)
Не вижу тут юмора.
Фраза "только сел уже выеживается" интересна. Т.е. если я бородатый волговод, то мне типо уже можно, да? Бескультурию все возрасты покорны.

По теме:
Самый эмоциональный ДПСник в Дагестане
Николаев,
20.9.2012, 15:41 Юмор автомобильный (часть 1)
саша_хороший,
16.9.2012, 19:32 Посоветуйте планшетник
Цитата(Drey_Persson @ 16.9.2012, 15:26) *
Хм, а с TeXet TM-7025 сталкивался кто-нибудь? Дороже Explay Informer 701 всего на 500р, а вроде бы и функционал обширней, и сенсор лучше...

ЯЯЯ!!!
Гумно, сломался через минуту, 4 месяца не могли починить и вернуть бабки.
Лагает даже слайдер при разблокировке. В прошивке так же много косяков. За эти 4 месяца ни 1 обновления ПО при том что аппарат только вышел. Не странно ли?
Drey_Persson,
16.9.2012, 19:16 iPhone 4 или HTC?
Что требуется от телефона? Просто смартфон с энгри бёрдз или, допустим, ты любишь смотреть кино в дороге?
Да, комментарии Антохи не читай, он слишком упёртый на ай-технике. //Просьба не комментить

PS Выбрать что-то из низ без предпочтений нельзя.
На сенсейшне нестандартный дисплей, с айфоней проблемы с джейлами, уан_в проще сенсейшна. Так что тут замкнутый круг из выбора smile.gif
s_novi,
16.9.2012, 10:41 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Цитата(grafboss @ 16.9.2012, 4:39) *
спасибо

Если какие вопросы по поводу реализации - задавай smile.gif
grafboss,
14.9.2012, 12:07 Помогу с PHP / MySQL / Postgresql / JavaScript / jQuery и т.п.
Вся задача состоит из 3х этапов:
1) Отображение странички с кнопками "премиум скачка" и "скачать бесплатно с рекламой".
Человек кликает "с рекламой" и его кидает на вторую страничку.
2) Пых сохраняет где-то информацию о разрешенном времени скачки этого файла (аля time() + 59 ).
А в это время на страничке у пользователя javascript каждую секунду отсчитывает время с помощью setTimeout
3) После достижения счетчика в 60сек на странице клиент либо редиректит на 3ю страницу, либо с помощью аяксов отображает ссылку.
Перед выдачой ссылки на файл пых проверяет можно ли выдавать ссылку клиенту, т.е. запрашивал ли он её вообще и прошло ли время (аля $allowedTime <= time() ).
grafboss,
1.9.2012, 17:57 Дневник автолюбителя & Автомобильная курилка (часть 1)
Сегодня на пролетарском проспекте в сторону кашки видел дублирующий разметку пластиковый бордюр (такой как упоры для колес на парковках), да еще и со штырями. Совсем чтоли обалдели?
Цитата(Николаев @ 1.9.2012, 17:11) *
Ну и конечно не обошлось без обочины.

Всё, еще один некультурный водитель tongue.gif
monstra,
21.8.2012, 15:05 Вопрос к хакерам
Spy, я с тобой спорить никогда не буду. Умеешь убеждать и интересно излагать свои мысли. Могёшь! biggrin.gif
spy,

6 страниц V   1 2 3 > » 
© 2005—2016 ООО «Нэт Бай Нэт Холдинг»,
Все права защищены.
Правила пользования ресурсами