Jump to content

rgl

User
  • Posts

    109
  • Joined

  • Last visited

Everything posted by rgl

  1. Как вариант, замените <input type="button" value="Жми" onClick="fanta()"> на <input type="submit" value="Жми" onClick="fanta(); return false;"> а еще не в функцию добавьте либо else либо return после выполнения условая.
  2. 1. При проверке. не делиться ли число, лучше проверять сначала не делиться ли оно на два, а потом проверять только нечетные числа, т.е. j будет изменяться от трех, и с шагом 2 (а не от двух и с шагом 1, как сейчас). Так вы почти в два раза уменьшите количество проверок. 2. Проверять делимость нужно не на все числа меньше i а только на все числа меньше либо равно КОРЕНЬ из i, т.к. если i делится на число, больше чем корень из i, то результат будет меньше, и оно делится на него тоже. Корень, конечно же, находить не в каждой итерации цикла, а один раз предварительно. 3. Первый пункт можно слегка усовершенствовать, т.е. проверять входит ли 2 в диапазон, а затем проверять только нечетные числа, т.е. i тоже меняется от трех и с шагом 2.
  3. Понятно, что все что я хочу, легко делается с помощью языка программирования, напр. PHP, но ради спортивного интереса, можно ли это сделать одним запросом на SQL? Итак, есть таблица с некими данными, одно из полей - дата-время. Хочется получить список дат (за заданный небольшой промежуток времени), для которых записей в таблице нет. Напр. есть записи "'2020-12-01 15:25:26", другие поля" '2020-12-02 12:42:11", другие поля '2020-12-04 11:33:42", другие поля '2020-12-05 05:24:36", другие поля '2020-12-07 07:15:56", другие поля '2020-12-08 03:11:27", другие поля Я хочу сделать запрос, задав исходный диапазон "2020-12-01" "2020-12-07" и получить результат "2020-12-03", "2020-12-06"
  4. Может, глупый вопрос, но я решения не нашел. Ситуация - есть документы Microsoft Word которые читают (а иногда редактируют) несколько человек. У одного из них проблемы со зрением, поэтому он хочет видеть не черные буквы на белом фоне, а наоборот. Можно ли это сделать настройками самой программы на одном отдельном компьютере, чтобы не менять цвета в документе (другие коллеги хотят его видеть как привыкли)?
  5. Успел уже пообщаться с несколькими потенциальными исполнителями, и привык уже к тому, что поначалу они сильно недооценивают объем и сложность работы. Но ваше сообщение - абсолютный рекорд с огромным отрывом. Обратите внимание, напр. на странички "космической погоды", там данные обновляются в реальном времени (да, и на главной тоже, если спуститесь вниз). А еще обратите внимание на календарь со ссылками, архив данных за несколько лет. А картинки, графики, которые обновляются в реальном времени... За 7 дней даже разобраться что есть, и как это устроено, вряд ли получится, не то, чтобы что-то сделать... Можно ли поинтересоваться какой движок вы предлагаете использовать? И можно ли посмотреть примеры ваших работ? В любом случае, написал на почту.
  6. И опять повторю, мой вопрос предельно конкретный, повторять вопрос опять уже не хочется, а я получаю ответ на другой (на который я и сам ответ знаю).
  7. Значит так, может я плохо объясняю. Есть сайт, у него есть странички с какими-то адресами. Хочется на этот сайт "натянуть" CMS-ку. Человек, который берется это делать, утверждает что "адреса сохранить невозможно". Почему? 301 редирект - не сохранение адреса, а редирект на новый адрес. Но .htaccess позволяет адрес сохранить, я это вижу, я этим пользуюсь. Тогда почему с CMS-кой нельзя сделать такое? Вот мой вопрос. Т.е. либо на самом деле CMS-ка конфликтует с .htaccess, либо человек, который это утверждает, сам до конце не разобрался. Лично я пока не разобрался, поэтому и спрашиваю. Про 301 редирект знаю, но это не сохранение старого адреса, а редирект на новый. Как-то так... Пока на свой вопрос ответа не получил.
  8. Тогда может вам не нужно в этой ветке писать?
  9. Адрес картинки (как его видит браузер) https://tesis.lebedev.ru/upload_test/files/flares.png строчка из .htaccess RewriteRule upload(?:_test)?/files/flares[\w\d_]*\.png$ d_img/sun_flares_dk.php Реально вызывается php-скрипт, ни картинки (файла .png) ни даже папки такой реально нет. В адресной строке браузера остается старый адрес, о новом браузер и не догадывается.
  10. 301 это Moved Permanently Если браузер сделает запрос и получит такой код, он перезапросит по новому адресу, и в строке онобразит новый адрес? А сделать перенаправление чере .htaccess и RewriteRule так, чтобы внешний, видимый адрес оставался старым, чтобы браузер ничего вообще не заметил, что-нибудь мешает? Т.е. я этим пользовался, когда пользователь запрашивает, скажем, картинку .png а реально вызывается скрипт .php Это нормально работает, но без CMS-ки, а с CMS-кой будут какие-то конфликты?
  11. Вопрос чайника - CMS навязывает адреса (URL) страниц, либо же можно выбирать какие хочется? Напр, можно ли при переносе существующего сайта на CMS сохранить адреса страниц, какие были? Либо нельзя? Либо это зависит от конкретной CMS? У меня был когда-то минимальный опыт с Джанго, так нам выбирать URL каждой странички по своему усмотрению - никаких проблем. К сожалению, Джанго не на PHP а на Питоне, что не подходит... (постоянно путаю Джумлу и Джанго)
  12. Есть такой сайт tesis.lebedev.ru, его нужно доработать (а может, переделать, вопрос терминологии) 1. Нужна именно фирма, т.е. юридическое лицо (частному невозможно будет оплатить работу). Очень желательно, чтобы с историей (т.е. появилась не вчера) и с портфолио (что-то кроме типового магазина) 2. Что нужно сделать - можно подробно обсудить, если будет реальная заинтересованность, но главное - 1. перенести сайт под нормальный движок (сейчас используется самописный, автор которого давно уже недоступен). 2. Сделать мобильную версию. 3. Ну и другие незначительные доработки 3. Дизайн нужно в целом сохранить (т.е. никакого принципиально нового дизайна не нужно), также сохранить адреса страничек (ссылки) Сколько (хотя-бы ориентировочно) это может стоить? Сколько времени это займет? Если есть реальные предложения, на сайте, страничке со списком сотрудников найдите программиста, вот на этот адрес и пишите.
  13. Первых двух функций достаточно для "шифрования" 64-битного числа, ну или массива из 8 байтов (чисел от 0 до 255). Стойкость к взлому более чем достаточная для защиты от спама, но для действительно серьезных вещей - нет. Главное достоинство - если язык не PHP а C на 64 битной операционке (а именно так он изначально и придуман), то его быстрота, ресурсов тратится несравненно меньше, чем на полноценное шифрование, т.к. фунция mul64 превращается в одну операцию умножения. Также, md5 можно использовать на данных любого размера, никаких ограничений, моя же функция принимает данных строго 64 бита. Можно легко переделать и для бОльшего, но не сильно бОльшего, и в любом случае это будет фиксированный размер.
  14. Ну ладно, раз никто 200 рублей на карточку перевести не хочет, берите на халяву, не жалко. function rgl_mul64($a,$b) { for($i=0;$i<8;++$i)$c[$i]=$a[$i]*$b[0]; for($j=1;$j<8;++$j)for($i=$j;$i<8;++$i )$c[$i] += $a[$i-$j]*$b[$j]; for($i=0;$i<7;++$i){$c[$i+1]+=$c[$i]>>8;$c[$i]&= 255;}$c[7]&=255; return $c; } function rgl_cript64($x) { $a=Array(157,254,1,223,3,31,128,196);$b=Array(181,119,108,44,75,245,179,97); return rgl_mul64($b,array_reverse(rgl_mul64($x,$a))); } function to_hidden_string($ip,$time) { $t=rgl_cript64(explode('.',$ip.'.'.long2ip($time))); return sprintf( '%02X%02X%02X%02X%02X%02X%02X%02X',$t[0],$t[1],$t[2],$t[3],$t[4],$t[5],$t[6],$t[7]); } function from_hidden_string($s) { if(gettype($s)!='string'||strlen($s)!=16||preg_match('/[^\dA-F]/',$s)) return false; $t=rgl_cript64(sscanf($s,'%02X%02X%02X%02X%02X%02X%02X%02X')); return Array(join(array_slice($t,0,4),'.'),ip2long(join(array_slice($t,4),'.'))); } Примечания: 1. Т.к. писалось для себя, комментариев нет (я и так слету все пойму хоть через 10 лет, а большинству и комментарии не помогут). Потому что я не только написал код, но придумал алгоритм. 2. Если функцию rgl_cript64 планируется вызывать более одного раза, возможно, есть смысл два массивчика $a и $b вынести в глобальное пространство, чтобы один раз. 3. Собственно числа в массиве $a и $b можно (и нужно) поменять, это как пароль, его должен знать только тот, кто форму пишет. Числа, разумеется, могут быть не любыми, но в одном из массивов они могут быть почти любыми (есть минимальное ограничение), ну а второй должен быть подобран к первому. За подробностями в личку. 4. Функция rgl_cript64 одна и в ту и в другую сторону, можно сделать две, тогда понадобятся два комплекта из двух массивов ключевых чисел, попарно подогнанные. Кто-то может думать, что это повысит защищенность, я уверен что и так более чем достаточно. 5. Функция to_hidden_string принимает на вход IP клиента и момент времени (напр time() или $_SERVER['REQUEST_TIME'], кому как нравится) когда он запросил форму. Функция from_hidden_string вызывается уже когда клиент заполнил форму и отправил ее. Она обратно извлекает IP и момент времени. Далее можно проверить что IP совпадает а время в допустимых пределах (скажем, прошло не больше часа, можно и не больше суток). 6. Если в скрытой строке изменить хотя бы один любой битик, весь результат меняется непредсказуемым образом (непредсказуемым для человека, не знающего алгоритм или даже двух ключевых массивчиков).
  15. Смотрите, проверяйте: http://dkirusfe.bget.ru/antispam_form.php
  16. У меня есть свой авторский метод защиты, нигде не прочитал, придумал сам, без использования переменной $_GET, только одно скрытое поле. Скрытое поле хранит зашифрованную информацию об ip пользователя и времени когда он открыл форму. Далее, пользователь заполняет форму, посылает ответ, на сервере проверяется 1) что ip совпадает 2) что от отрытия формы до ее отправки прошло допустимое время. Не используется md5 либо другие библиотечные методы шифрования, все сделано вручную. Стойкость - криптоаналитик взломать сможет, спаммер - нет (даже если постарается, чего он делать конечно же не будет). Только вот не понятно, как вы предполагаете из html файла вызвать код на PHP? Саму форму и код проверки можно разнести в разные файлы, но они оба будут php (хотя для пользователся можно сделать видимость html через .htaccess)
  17. rgl

    RegEx

    Я спрашивал про пример где он вызывается и не работает, ибо у меня он работает: var paternStr = "\\.t{(.*)transform:(rotate|rotateZ)\\(90deg\\)(.*)}"; var testStr = ".t{transform:rotate(90deg);}"; function testCode(testString, patternString) { patternString = patternString.replace(/(\s+)/gm, ""); // Убираем все пробелы testString = testString.replace(/(\r\n|\n|\r|\s+)/gm, ""); // Убираем переносы и пробелы var re = new RegExp(patternString, 'i'); // Регулярное выражение из строки return re.test(testString); } found = testCode(testStr, paternStr); Такое впечатление, что вы забыли замаскировать обратный слэш в строке, и он потерялся еще до попадания в регулярное выражение (как, предполагаю, и перед самой первой точкой, проверьте, что он ищет именно точку а не произвольный символ).
  18. rgl

    RegEx

    А код на JavaScript можно посмотреть?
  19. Нужно сделать кнопку "поделиться картинкой в контакте" Простейший вариант <a href="https://vk.com/share.php?url=сайт/папка/картинка.png">поделиться</a> работает, но подписывает картинку "картинка.png" а хочется свой текст (ну да, тот, кто делится, может свой текст добавить, но он этого не делает) Штатный вконтактовский код https://vk.com/dev/Share НЕ работает. Причина проблемы, по-видимому вот в чем - страничка, на которой надодится (должна находится) кнопка, находится не на сайте, где сама картинка, а может вообще быть на локальном компьютере (по протоколу file://) Можно ли в ссылку добавить какой-то еще параметр (кроме url) который подскажет желательный текст? Ответ нашел, вопрос снимается.
  20. Что-то не заметил никакого js, там вроде все на PHP?
  21. Такая, казалось бы простая задача ставит в тупик. Есть таблица, в ней есть в т.ч. 8 интересующих полей. Нужно написать select который из каждой строчки выбирает максимальное значение из этих восьми полей. Было бы два поля, использовал бы case но выбрать из восьми - это же огромное количество вложенных кейсов получается
  22. Похоже, нашел что искал. Буду пробовать, проверять. http://www.pvsm.ru/php-2/12115
  23. echo '<a href="http://site.ru/page.html?ver='.rand(100,999).'">click here</a>'; # так?
  24. Первый запустился, файла не нашел, создает, но ДО ТОГО как он это успел, запустился второй, и тоже файла не нашел, конфликт получается. Как бы второму узнать, что первый уже задачей озаботился, и надо лишь чуток подождать? "если файл найден", "если файл не найден" - а если при запуске скрипта файл еще не найден, т.к. предыдущая инкарнация, запущенная чуток раньше, тоже файла не нашла но уже приготовилась его создавать? И поэтому, хоть и не найден, надо не создавать а чуток подождать? Вот именно на этот вопрос я и ищу ответ, увы, пока безуспешно. Есть такие страшные слова "race condition" и это то, от чего я хочу надежно, 100%-но предохраниться...
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy