Ну правильно, Вы не говорите что он украл деньги. Вы просто забираете их и все. Долой лишние разговоры! И получить их можно обратно только через суд, а если сумма небольшая - Вы прекрасно отдаете себе отчет в том, что огромное количество людей в суд не пойдет.
Откуда знаете? Если уж Вы прикрываетесь тем, что Вы не суд что бы определять виновность, то будьте последовательными и признайте, что Вы не суд, что бы определять ворованные деньги или нет.
Потом опять же непонятно, как Вы сами деньги идентифицируете. Если можно, на 3 конкретных примерах.
а) Мы получили 100р. Вывели их. Баланс 0р. Пополнили счет на 100р. Баланс 100р. По поводу первых полученных нами 100р пришла абуза. Вы лишите нас доступа к счету?
б) То же самое, только на счету было соответственно 1100, 1000, 1100р
в) Петя украл 100р и перевел Васе в оплату за скрипт. Вася трудился месяцами и честно сделал этот скрипт. У Васе на балансе оказалось 1000р, т.к. 900 было и так. Вася послал 10 своим братьям по 100р. Сколько братьев будет заблокировано?
И поймите Вы наконец, это не попытка выведать секреты Вашей СБ. Это попытка пользователей, несмотря на все вышесказанное, пользоваться Вашей системой, но иметь четкое представление о том, в каких ситуациях они от Вашей системы могут пострадать.
Мы получили честно заработанные 100р. Почему мы должны бежать в суд, что бы доказать свою честность?
И наконец. Вот Ваши же правила http://money.yandex.ru/doc.xml?id=101719
"Когда вы переводите деньги в Кошелек другого пользователя системы, вы просто уступаете эти деньги ему (эту функцию удобно использовать, чтобы передавать деньги друзьям и родным), и никаких обязательств на получателя это не накладывает. "©
А теперь вдруг выясняется, что получив деньги, можно столкнуться с обязательством не только их вернуть, но и с денежными и временными затратами на посылку нотариально заверенных документов с неизвестным результатом через 20 дней (Это Вы же утверждали, что результат заранее неизвестен - отвечая на Ваш вопрос чуть раньше).
Из-за неопределённого шанса разблочить кошелек через 20 дней идти и платить нотариусу деньги за заверение документов, потом идти и платить деньги почте за посылку документов потратив на это 3 часа своего времени... это 1000р не стоит... даже если забыть о прямых денежных затратах (сколько обойдется нотариус с почтой? рублей 500?) на это.
Не хотелось бы прямых ассоциаций, но как пример, есть карманники которые специально воруют "мелочь", не трогая крупняк или что-либо важное. Потому что понятно, что из-за мелочи человек не пойдет в милицию, тратить своё время на заявления, при том всего лишь из-за шанса получить назад свои деньги. И таких людей полно. При чем косвенная ассоциация возникла у нас, sperans, сугубо после Вашего ответа, где Вы изображаете посылку нотариально заверенных документов таким же бесплатным и легким делом как выйти в интернет, что совершенно очевидно не так.
А по теме. Ну, собственно не обязательно это свидетельствует о сотрудничестве ЯД и ВМ. ЯД/ВМ такие же участники рынка и точно так же могут подавать претензии на пользователей систем. Да и обменники через которых проводились платежи тоже. Для выводов о сотрудничестве нужно что-то большее чем просьба обосновать какой-то платеж.
Как насчет свежей и революционной идеи отслеживать цепочку до последнего пользователя, который не смог объяснить платеж?
Вот Вы выше говорите - не принимайте платежи от малоизвестных корреспондентов. А толку-то? Вася оплатил Пете, Петя оплатил Гене, Гена оплатил нам. Плохой Вася. Петя непонятно кто. Гена известный и доверенный человек. А страдать почему-то должны будем мы по этой логике.
Первая ссылка по 5 мускулу, да, но те же самые функции работают и в 4.1, документация ничем не отличается http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html Так что вполне применимы у Вас.
По второй ссылке мы обращали Ваше внимание не на документацию, а на скрипт от Markus Hausammann. Вытащим сюда
<?php $db = mysqli_connect('localhost','username','password', 'db'); if(mysqli_connect_errno()) { echo "Cannot connect to the database - incorrect details"; } $sql = 'SHOW TABLES'; if ( !( $result = $db->query( $sql ) ) ) { echo '<span style="color: red;">Get SHOW TABLE - SQL Error: <br>' . "</span>\n"; } while ( $tables = $result->fetch_row() ) { echo $tables[0]; # Loop through all tables in this database $table = $tables[key($tables)]; if ( !( $result2 = $db->query("ALTER TABLE ".$table." COLLATE utf8_general_ci") ) ) { echo '<span style="color: red;">UTF SET - SQL Error: <br>' . "</span>\n"; break; } print "$table changed to UTF-8 successfully.<br>\n"; # Now loop through all the fields within this table if ( !($result2 = $db->query("SHOW COLUMNS FROM ".$table) ) ) { echo '<span style="color: red;">Get Table Columns Query - SQL Error: <br>' . "</span>\n"; break; } while ( $column = $result2->fetch_assoc() ) { $field_name = $column['Field']; $field_type = $column['Type']; # Change text based fields $skipped_field_types = array('char', 'text', 'enum', 'set'); foreach ( $skipped_field_types as $type ) { if ( strpos($field_type, $type) !== false ) { $sql4 = "ALTER TABLE $table CHANGE `$field_name` `$field_name` $field_type CHARACTER SET utf8 COLLATE utf8_general_ci"; $result4 = $db->query($sql4); echo "---- $field_name changed to UTF-8 successfully.<br>\n"; } } } echo "<hr>\n"; } $result->free(); $result2->free(); $result4->free(); ?>
http://dev.mysql.com/doc/refman/5.1/en/charset-convert.html Вам поможет, если мы правильно поняли задачу.
Или если имелось ввиду не то, что мы подумали сначала, посмотрите тут http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html скрипт от Markus Hausammann, возможно это как раз оно.
Что бы написать что-то - нужны причины. Что бы не писать что-то - причин не нужно абсолютно. Поэтому вопрос "почему программисты что-то не делают" нам абсолютно не понятен, с тем же успехом можно спросить "почему Вы не топите урановые ломы в ртути"🙄
Вы меряйте не в хостах, а в хитах. У Вас чат, так что это особенно существенно. Даже если обновление раз в 15 секунд, одновременно в пиках 150 человек (хостов), то за час это уже 36,000 хитов может получится. В то время как обычный сайт из тех же 150 человек дай бог 1500 хитов выжмет. Вот и разница.
Даже если voc++ у Вас использует не по хиту на обновление страницы (есть там вроде такой режим, streaming), то соотношение конечно лучше, но все равно не так хорошо как на "обычных" сайтах + постоянно висящий коннект, который тоже кушает ресурсы и на обычном сайте отсутствует.
$_FILES['photo_mini']['tmp_name']
http://ru2.php.net/manual/en/reserved.variables.files.php
http://ru2.php.net/manual/en/features.file-upload.php
http://ru2.php.net/manual/en/function.is-uploaded-file.php
1,2) Это не к программисту, а скорее к верстальщику. Впрочем Вам наверное все равно.
4) Обязательно. Облегчает управление robots.txt потом или (вдруг) если понадобится сменить движок позже, то новый движок заставить отвечать на урлы контакт.хтмл как правило легко, а вот на экзотические самопридуманные индекс.пхп?ппп=2424 несколько труднее.
7) Добавить управление на страницах noindex/nofollow в метах. Может пригодится если один и тот же материал располагается по куче разных адресов. Или просто что-то захочется закрыть мало ли по какой причине.
8) По возможности избегать разных адресов для одного контента чисто технически. Допустим фотогалерея на сайте, где одна фотка может показываться по 20 разным урлам (сортировка разная, из комментариев и т.д.), в таком случае или пункт 7 или выход на эти адреса только по яваскрипт или пост методу форм. Иначе может получится 10к страниц в индексе, а всего с десяток разных.
9) Внятная страница если навернется база на хостинге, многие движки отдают "не могу соединится с базой" - яндексу об этом знать не обязательно.
10) Если контент добавляется посетителями, то неплохо бы добавить автопереписывание всех левых ссылок на свой скрипт редиректа.
А вообще, dkameleon очень правильно сказал. Вы же сеошники? Вот Вам и надо знать что Вам нужно от движка. Программист существо прямолинейное, что скажите то и сделает.
+1. И даже по еще 2 причинам.
а) Всякие zend optimizer-ы нередко сами заботятся о многих упомянутых вещах.
б) От версии к версии результаты бенчмаркинга бОльшей части упомянутых вещей могут менятся с точечностью до наоборот.
0. Реально нагрузочные приложения выполнять на php грешно, их даже экономия на спичках не спасет. Для них есть c/c++, по крайней мере для узких мест, что кстати в статье упомянутой ТС в первом посте сказано.
Заблуждаетесь:) Классы это тормоза, как раз отказ от них дает хороший прирост производительности. "Классный" код по сравнению с функциями в пхп имеет честь занимать в 3-5 раз больше памяти и кушать в 2-3 раза больше процессорного времени при прочих равных. Так что уж из-за чего чего, а из-за производительности программинг на классах выбирать не стоит, для его выбора есть другие причины. Тестировали не раз и не два и по 4-ой версией и под 5-ой, так что для нас вывод однозначен.
+1
В целом не считаем что на php в прямом смысле есть задачи оптимизации скриптов как таковой. У нас вот 90% задач по "оптимизации" это исправление кривого кода, а не ускорение правильного в целом кода. Не можем представить себя сидящих и переписывающих $i++ на ++$i и на полном серьезе гордящимися результатом:)
Плюс есть еще один момент. Все эти "хитрости" они хороши если над проектом работает один человек, а вот если их несколько, то куда более важно сохранять единый стиль кода, относительно всем привычный и стандартный, а не выкраивать миллисекунды.
error,
Вот те запросы в БД, что у Вас в первом посте. Они наводят на мысль о том, что когда Вы удалили top скрипт, то те запросы которые шли к нему, стали редиректиться на dle. Например если mod_rewrite или 404 ошибка редиректят запросы к несуществующим файлам на движок (если чпу в дле так реализована, или обработка 404). Возможно Вам стоит проверить эту версию, просто иначе не совсем понятно почему у Вас запросы к топу приводили к вставкам в базу рефереров. В таком случае Вам надо было от этого редиректа избавляться.
Возможно самое простое будет это восстановить файл button.php (и все которые ставились как скрипты топа), но сделать его просто пустым. Как вариант - можно сделать его отдающим картинку, например с надписью "снимите этот счетчик срочно". Если у Вас код для вставки счетчика был без размеров картинки в тэге, то можно еще и размер картинки подувеличить для заметности. Или можно сделать 301/302 редирект на картинку подобного плана, что бы скрипты не запускать у себя лишний раз.
Что касается 403. Если Вас уже совсем достанут, поставьте не 403 ошибку, а 401 авторизацию. Можно просто закрыть директорию top паролем, раз у Вас cpanel. Только выводите там соответствующее предупреждение. Это, конечно, не вполне этично по отношению к тем сайтам, где Ваш топ был установлен, поэтому лучше заранее их владельцев предупредить. Но как метод воздействия несколько эффективнее - вместо незагружающейся картинки топа у посетителей их сайтов будет запрос на авторизацию всплывать или антивирус параноить, что хозяев сайта может лучше простимулировать к принятию мер.