PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (19): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 282
xTODx Отправлено: 02 Апреля, 2017 - 21:02:22 • Тема: Повторения алгоритма создания хеша sha512 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 254
Мелкий пишет:
Повторюсь: сверяйте текстовое представление json. Для получения верного хэша, json должен быть идентичный после преобразования в текст.

Я могу посмотреть только переданный аяксом массив, с которого формируется жсон.
js метод не могу подменить.(
xTODx Отправлено: 02 Апреля, 2017 - 20:44:42 • Тема: Повторения алгоритма создания хеша sha512 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 254
Мелкий пишет:
Ну для начала у вас даже исходные данные для json разные. В PHP sign не передан.

Затем сверяйте само строковое представление полученного json.
Вообще не надо для ключа криптографии json использовать. Из-за полностью допустимых спецификацией различий в оформлении (отбивка пробелами, табами), финальной запятой, типизации (вдруг у вас sysId в php идёт с mysql и потому является строкой, а в js вы передаёте число), порядка полей в объекте - два json одного и того же объекта в строковом представлении могут быть совершенно разными. А любое различие источника - разумеется даст различие хеша, это одно из базовых требований к алгоритмам хэширования.

Использую для парсинга.

Спасибо, не заметил что провтыкал с sign. Нужно просто научится генерировать правильно хеш.
Пока-что безрезультатно.
xTODx Отправлено: 02 Апреля, 2017 - 16:07:15 • Тема: Повторения алгоритма создания хеша sha512 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 254
Есть в жс-е
CODE (javascript):
скопировать код в буфер обмена
  1. ar r = {};
  2. r.clientId = login;
  3. r.sysId = CONST_SYS_ID;
  4. r.random = Math.random() + " :))";
  5. r.sign = "secret password";
  6. var hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA512, password);
  7. hmac.update(JSON.stringify(r));
  8. var hash = hmac.finalize();
  9. r.sign = hash.toString();


При random = "0.3401890288802276 Улыбка)"
Хэш 53ed805b0855deb5c5c8f50c53ec4e36 a7b680c934301c48ffa7748f8973cc57 e5c635aca9d9d0e9d915d8ded1710aa7 c1893cf93cff5db9b8288b38b91d1d79

Стараюсь повторить и сравнить

PHP:
скопировать код в буфер обмена
  1. $random = "0.3401890288802276 :))";
  2. $key = ["clientId" => $login, "sysId" => $sysId, "random" => $random];
  3. $hash = hash_hmac("sha512", json_encode($key),$password);
  4. /*Сравнение хеша с сайта с хешем что вышел*/
  5. echo "53ed805b0855deb5c5c8f50c53ec4e36a7b680c934301c48ffa7748f8973cc57e5c635aca9d9d0e9d915d8ded1710aa7c1893cf93cff5db9b8288b38b91d1d79";
  6. echo "<br/>";
  7. echo $hash;
xTODx Отправлено: 02 Апреля, 2017 - 16:04:50 • Тема: Курл сжатого контента • Форум: Вопросы новичков

Ответов: 2
Просмотров: 231
Спасибо.
Странно, у меня всё так-же кряозябры))
с другого урла всё ок.
xTODx Отправлено: 31 Марта, 2017 - 22:18:10 • Тема: Курл сжатого контента • Форум: Вопросы новичков

Ответов: 2
Просмотров: 231
PHP:
скопировать код в буфер обмена
  1.  
  2. if( $curl = curl_init() ) {
  3.                         curl_setopt($curl, CURLOPT_URL, 'https://line.fbwebdn.com/live/currentLine/ru/');
  4.                         curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.17) Gecko/2009122116 Firefox/3.0.17");
  5.                         $headers = array
  6.                         (
  7.                            'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
  8.                            'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
  9.                            'Accept-Charset: windows-1251, utf-8;q=0.7,*;q=0.7',
  10.                            'Accept-Encoding: gzip, deflate, sdch, br',
  11.                            'cache-control:max-age=0'
  12.                         );
  13.                          
  14.                         curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
  15.                         curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
  16.                         curl_setopt($curl,CURLOPT_ENCODING , "gzip, deflate, sdch, br");
  17.                         echo $out = curl_exec($curl);
  18.                         curl_close($curl);
  19.                 }
  20.  


Как избавиться от крякозябр?
xTODx Отправлено: 16 Января, 2017 - 12:04:51 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 0
Просмотров: 242
Добрый день, есть htaccess

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Options +FollowSymLinks
  3. IndexIgnore */*
  4. RewriteEngine on
  5.  
  6.  
  7. RewriteCond %{REQUEST_URI} !^/(frontend)
  8. RewriteCond %{REQUEST_URI} !^/(backend)
  9. RewriteRule ^css/(.*)$ frontend/css/$1 [L]
  10. RewriteRule ^js/(.*)$ frontend/js/$1 [L]
  11. RewriteRule ^img/(.*)$ frontend/img/$1 [L]
  12. RewriteRule ^fonts/(.*)$ frontend/fonts/$1 [L]
  13. RewriteRule ^audio/(.*)$ frontend/audio/$1 [L]
  14. RewriteRule ^en/(.*)$ frontend/$1 [L]
  15. RewriteRule (.*) /frontend/$1
  16.  
  17. RewriteCond %{REQUEST_URI} !^/(frontend)
  18. RewriteCond %{REQUEST_URI} !^/(backend)
  19. RewriteCond %{REQUEST_FILENAME} !-f
  20. RewriteCond %{REQUEST_FILENAME} !-d
  21. RewriteRule . /frontend/index.php
  22.  
  23. RewriteCond %{REQUEST_URI} ^/(backend)
  24. RewriteCond %{REQUEST_FILENAME} !-f
  25. RewriteCond %{REQUEST_FILENAME} !-d
  26. RewriteRule . /backend/index.php
  27.  
  28.  


На основном домене всё ок, во фронтенде работает.

При переходе на /backend - открывает index.php

а при /backend/login - не срабатывают правила htaccess-а

Уже почти неделю борюсь разными способами, всё никак.
Буду очень благодарен за помощь.

htaccess backend-a
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  AddDefaultCharset utf8
  3.  
  4.  Options -Indexes
  5.  DirectoryIndex index.php
  6.  
  7.  RewriteEngine On
  8.  
  9.  RewriteBase /
  10.  RewriteRule ^\.htaccess$ - [F,L]
  11.  
  12.  RewriteCond %{REQUEST_FILENAME} !-f
  13.  RewriteCond %{REQUEST_FILENAME} !-d
  14.  RewriteRule . index.php
  15.  
  16.  RewriteCond %{REQUEST_URI} !/$
  17.  RewriteCond %{REQUEST_URI} !\.
  18.  RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
  19.  ErrorDocument 404 /404
  20.  
xTODx Отправлено: 06 Декабря, 2015 - 14:11:28 • Тема: Единая точка входа • Форум: Вопросы новичков

Ответов: 7
Просмотров: 1016
вы про ЭТО?
xTODx Отправлено: 06 Декабря, 2015 - 13:54:56 • Тема: работа с бд mysql • Форум: Работа с СУБД

Ответов: 2
Просмотров: 682
Win4esteR пишет:
имеется таблица №1 с полями имя, действие1, действие2 и таблица №2 с аналогичными полями. как выбрать из таблицы №1 строки определенного персонажа(строк много) и записать их все в таблицу №2?

ну, сверху правильную статью подсказали.
если хотите чтобы написали за вас запрос, нужна структура
xTODx Отправлено: 06 Декабря, 2015 - 13:41:12 • Тема: подготавливаемый запрос с неизвестными заранее полями • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 31
есть запрос
CODE (SQL):
скопировать код в буфер обмена
  1.  SELECT author.id AS id, `{$_GET['table']}`.id AS art, author.name AS name, `{$_GET['table']}`.img AS img FROM `author`,`{$_GET['table']}` WHERE `{$_GET['table']}`.author = `author`.id  GROUP BY author.id  LIMIT 0,8

хотелось бы сделать из него подготавливаемый запрос. Была банальная попытка

CODE (SQL):
скопировать код в буфер обмена
  1.  SELECT author.id AS id, ?.id AS art, author.name AS name, ?.img AS img FROM `author`,? WHERE ?.author = `author`.id  GROUP BY author.id LIMIT 0,8

Но, думаю ясно, что закончилось
Цитата:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.id as art, author.name as name, ?.img as img FROM `author`,? WHERE ?.author = `' at line 1(1064)!
xTODx Отправлено: 12 Октября, 2015 - 08:58:23 • Тема: Allowed memory size • Форум: Вопросы новичков

Ответов: 2
Просмотров: 235
вот что, оказалось картинка большая очень imagecreatefromjpeg($source);
решил
PHP:
скопировать код в буфер обмена
  1.  
  2. $maxside = 800;
  3. if (($w > $maxside) or ($h > $maxside)) {
  4.   exec ('mogrify -resize '.$maxside.'x'.$maxside.' '.$source );
  5.   $size = getimagesize($source);
  6.  $w = $size[0];    // Ширина изображения
  7. $h = $size[1];    // Высота изображения
  8. $nh = $size[1]/$size[0]*$nw;
  9. }
  10.  
xTODx Отправлено: 11 Октября, 2015 - 22:30:27 • Тема: Allowed memory size • Форум: Вопросы новичков

Ответов: 2
Просмотров: 235
Ребята, впервые столкнулся с такой ошибкой
CODE (htmlphp):
скопировать код в буфер обмена
  1. Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 28348 bytes) in func.php on line 226
  2.  

Как я понял, я слишком прожорлив на память. кто что посоветует?
как очищать память?
Это возникает при AJAX запросе, т.е. много памяти скрипт не жрёт.
при этом memory_get_usage() показывает максимум 846968
Краш случается на $simg = imagecreatefromjpeg($source);
xTODx Отправлено: 10 Октября, 2015 - 14:32:52 • Тема: Миниатюры для картинок • Форум: Графика в PHP

Ответов: 2
Просмотров: 1014
DeepVarvar пишет:
Учимся дебажить:

http://php.net/manual/ru/errorfu...i.display-errors
http://php.net/manual/ru/function.error-reporting.php

" Unable to open 'http://borstch.com.ua/img/thumb/art/1439385204.jpg' for writing: No such file or directory in
"
угу, вижу ошибку)
(Добавление)
Только в чём проблема то?
Директория есть, в ней не находит файл, хм
(Добавление)
Исправил
PHP:
скопировать код в буфер обмена
  1.  
  2. $source = $url->APP_PATH.$art['img'];
  3. $dest = $url->APP_PATH.$nimg;
  4.  

(Добавление)
Проблема такая, не работает с файлами .JPG, и т.д., когда расширение большими буквами,.
добавил case 'JPG': и т.д., но всё так-же, чёрное изображение, которого кстати нету в каталоге, но по ссылке оно открывается, О_О
P.S.поправил во всех файлах расширение, и при загрузки новых расширения будут в нижнем регистре.
xTODx Отправлено: 10 Октября, 2015 - 10:44:09 • Тема: Миниатюры для картинок • Форум: Графика в PHP

Ответов: 2
Просмотров: 1014
Вот что налепил, используя эту статью.
Креш не происходит, но миниатюры в итоге нет
PHP:
скопировать код в буфер обмена
  1.  
  2. $nimg = str_replace("/img/","/img/thumb/",$art['img']);
  3. if(file_exists($url->APP_PATH.$nimg)){
  4.         $art['img'] = $nimg;
  5. }else{
  6.         $source = $config->BASE_URL.$art['img'];
  7.         $dest = $config->BASE_URL.$nimg;
  8.         $stype = explode(".", $source);
  9.         $stype = $stype[count($stype)-1];
  10.         $size = getimagesize($source);
  11.         $w = $size[0];    // Ширина изображения
  12.         $nw = 250;
  13.         $h = $size[1];    // Высота изображения
  14.         $nh = $size[1]/$size[0]*$nw;
  15.         switch($stype) {
  16.                 case 'gif':
  17.                 $simg = imagecreatefromgif($source);
  18.                 break;
  19.                 case 'jpg':
  20.                 $simg = imagecreatefromjpeg($source);
  21.                 break;
  22.                 case 'png':
  23.                 $simg = imagecreatefrompng($source);
  24.                 break;
  25.         }
  26.         $dimg = imagecreatetruecolor($nw, $nh);
  27.         $wm = $w/$nw;
  28.         $hm = $h/$nh;
  29.         $h_height = $nh/2;
  30.         $w_height = $nw/2;
  31.          
  32.         if($w > $h) {
  33.                 echo "width";
  34.                 $adjusted_width = $w / $hm;
  35.                 $half_width = $adjusted_width / 2;
  36.                 $int_width = $half_width - $w_height;
  37.                 imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
  38.         } elseif(($w < $h) || ($w == $h)) {    
  39.                         $adjusted_height = $h / $wm;
  40.                         $half_height = $adjusted_height / 2;
  41.                         $int_height = $half_height - $h_height;
  42.                         imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
  43.                  } else {    
  44.                         imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
  45.                  }    
  46.         imagejpeg($dimg,$dest,100);
  47.         $art['img'] = $nimg;
  48. }
  49.  
  50.  
xTODx Отправлено: 05 Августа, 2015 - 08:12:36 • Тема: Отправка Content type через smtp • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1335
Мелкий пишет:
read_smtp_answer делает socket_read. Дополнительной настройки нет. Значит это тупой блокирующий вызов. Он будет ждать ответ сервера пока не протухнет соединение. А сервер, очевидно, ничего не отвечает, т.к. ждёт информацию от вас.
Добавьте заголовок к имеющимся Subject и To.

спасибо, пошёл читать PHPMailer
xTODx Отправлено: 04 Августа, 2015 - 11:20:26 • Тема: Отправка Content type через smtp • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1335
Мелкий пишет:
И параметры mail вручную форматируют, и multipart/mixed сами пишут, и даже вот, пишут что-то странное напрямую на сокетах.
Чем только не занимаются, лишь бы не взять какую-нибудь стандартную, давно отлаженную библиотеку. PHPMailer тот же, например.

спасибо, в следующий раз буду использовать её, сейчас же вопрос в другом.
как задать заголовок?

Страниц (19): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB