PHP.SU

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

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

> Найдено сообщений: 255
UNTRUSTED Отправлено: 05 Апреля, 2012 - 14:03:10 • Тема: Проблемы со сравнением хеша! • Форум: Вопросы новичков

Ответов: 8
Просмотров: 301
OrmaJever, Спасибо, учту!
(Добавление)
UNTRUSTED пишет:
$pass = trim(htmlspecialchars($_POST['pass'],ENT_QUOTES));

Кстати, не из-за этого нифига Нахмурился
(Добавление)
Я сейчас даже не могу сказать из-за чего это было но я откатил назад, добавлял добавлял все постепенно.. И вуаля - работает! Хм
UNTRUSTED Отправлено: 05 Апреля, 2012 - 13:26:13 • Тема: Проблемы со сравнением хеша! • Форум: Вопросы новичков

Ответов: 8
Просмотров: 301
OrmaJever пишет:
http://www.phpfaq.ru/debug/

А это здесь причем? Я этот сайт уже перечитывал.. Тут видите, запарился что на все переменные, specialchars(а первоначвально пароль вообще не мог иметь спецсимволов), а как я разрешил спец символы а это и не подумал убрать, вот отсюда вся и проблема.
UNTRUSTED Отправлено: 05 Апреля, 2012 - 12:56:45 • Тема: Проблемы со сравнением хеша! • Форум: Вопросы новичков

Ответов: 8
Просмотров: 301
EuGen пишет:
UNTRUSTED
Значит Вы сравниваете не то, ищите проблему в логике.

А почему тогда
UNTRUSTED пишет:
если хеш делать только из латинских символов и цифр, то нормально два сравнивает

??
(Добавление)
Вот смотрите полностью!
CODE (htmlphp):
скопировать код в буфер обмена
  1. ###Функция генерит пароль
  2. function pw(){
  3. $arr = array('a','b','c','d','e','f','7','8','9','0','.',',','(',')','[',']','!','?','&','^','%','@','*','$','/','|','+','-','`','~');
  4.     $ps = "";
  5.     for($i = 0; $i < 15; $i++){
  6.      $index = rand(0, count($arr) - 1);
  7.      $ps .= $arr[$index];
  8.    }
  9.    return $ps;
  10. }
  11. ###Функция хешит пароль
  12. function passx($pass){
  13.  $passhide = sha1($pass,1);
  14.  return $passhide;
  15. }
  16. ###Один скрипт
  17. $pass = pw();//его отправляем по емаил
  18. $newpass = passx($pass); // а этот в базу записываем
  19. ###В другом скрипте
  20. $sql = mysql_fetch_row(mysql_query("SELECT `pass` FROM `users` WHERE login = '$login'));
  21. $pass = POST[pass]
  22. $newpass = passx($pass);
  23.            var_dump($newpass);
  24.            var_dump($sql[0]);
  25.            var_dump(strcmp($newpass,$sql[0]));

Что то вот так!
(Добавление)
ААААААА ВОТ Я ДЕБИЛУлыбка))))) Помираю со смеху! Помираю со смеху!
СмотритеУлыбка
CODE (htmlphp):
скопировать код в буфер обмена
  1. $pass = trim(htmlspecialchars($_POST['pass'],ENT_QUOTES));

Теперь все стало понятно, я такой censored !
EuGen пишет:
ищите проблему в логике.

Спасибо огромноеУлыбка Здорово
UNTRUSTED Отправлено: 05 Апреля, 2012 - 12:33:13 • Тема: Проблемы со сравнением хеша! • Форум: Вопросы новичков

Ответов: 8
Просмотров: 301
Еще забыл, пароль в функции не так хешируется
UNTRUSTED пишет:
$newpass = sha1($pass);

а так
CODE (htmlphp):
скопировать код в буфер обмена
  1. $newpass = sha1($pass,1);//Хотя на самом деле не так:) но так пробовал тоже неробит

Вот так сравнивается!
CODE (htmlphp):
скопировать код в буфер обмена
  1.  $sql = mysql_fetch_row(mysql_query("SELECT `pass` FROM `users` WHERE login = '$login'));
  2. $newpass = sha1($sql[0],1);
  3.            var_dump($newpass);
  4.            var_dump($sql[0]);
  5.            var_dump(strcmp($newpass,$sql[0]));

Первые два var_dump чаще всего различаються всего одним символом, не пойму почему? Именно только один символ!
(Добавление)
string(20) "N�ZIC&lc�� �&ѭK�>"
string(20) "[4G2ᥴ?�����C�faÚ"
int(-1)
Вот последний раз вывод! Вообще разный
(Добавление)
Тут дело точно именно в символах, которые хешируются, так как если только англ. и цифры, то все проходит в ноль!
UNTRUSTED Отправлено: 05 Апреля, 2012 - 12:16:33 • Тема: Проблемы со сравнением хеша! • Форум: Вопросы новичков

Ответов: 8
Просмотров: 301
Не пойму почему, раньше вроде все ок работало, сейчас наблюдаются странные вещи, если хеш делать только из латинских символов и цифр, то нормально два сравнивает.. Если же там присутствуют какие-то символы вроде (!"№;%:?*()<>?]|[':;") тогда при сравнении пишет что не равны, в чем может быть трабл?
Вот пример для наглядности:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  function pw()
  3.  {
  4.    $arr = array('a','b','c','d','e','f','7','8','9','0','.',',','(',')','[',']','!','?','&','^','%','@','*','$','/','|','+','-','`','~');
  5.    $ps = "";
  6.    for($i = 0; $i < 15; $i++)
  7.    {
  8.      $index = rand(0, count($arr) - 1);
  9.      $ps .= $arr[$index];
  10.    }
  11.    return $ps;
  12.  }
  13.          $pass = pw();
  14.          $newpass = sha1($pass);
  15. //далее он записывается в базу и потом если сравнить $newpass с тем что в базе, они не равны...
  16. //Но вот если в массиве только букви и цифры то норм!!!
  17. ?>
UNTRUSTED Отправлено: 05 Апреля, 2012 - 10:15:59 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
EuGen пишет:
Вероятно, неверно указываете?

Тогда почему раньше работало? Или это сегодня только синтаксис сменился?
Всегда стояло вот так
CODE (htmlphp):
скопировать код в буфер обмена
  1. php_flag magic_quotes_gpc off

(Добавление)
Все, пришел ответ от хостера:
МОЙ ХОСТЕР пишет:

В данный момент занимаемся переносом на новую платформу, но возникли проблемы с оборудованием.......
.....
.....

Все четко и понятно, это не весь текст, самое основное!
(Добавление)
Еще одна хорошая новостьУлыбка
ХОСТЕР пишет:
...ваш аккаунт будет перенесен на сервере с suPHP обработчиком, там все пхп директивы можно будет вносить через php.ini файл...
UNTRUSTED Отправлено: 05 Апреля, 2012 - 10:05:24 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
EuGen пишет:
Если, к примеру, у хостера запрещены функции наподобие system(),

Нет, если таких вещей не делать конечно, а только поставить типо таких:
DefaultCharset
DefaultTimezone
ErrorReporting
ErrorDisplay
Error_log
magic_quotes_gpc
и.т.д.
EuGen пишет:
и затем по какой-либо причине хостер узнает

т.е. без особых причин он этого даже и не узнает? о подмене...
UNTRUSTED Отправлено: 05 Апреля, 2012 - 10:01:00 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
EuGen пишет:
то речь идет о директиве

ну хотя бы кавычки эти волшебные Она блин у них включенаУлыбка, раньше убирал спокойно через .htaccess, и по идее в любом месте изменяется, но не тут то было, в .htaccess вообще если любую php.ini конфиг пытаешься поставить ошибка 500, в ini_set другие не проверял, но эта не ставиться, хотя должна! только php.ini, либо в той директории в которой находиться скрипт, либо мой способ со сменой системного php.ini
UNTRUSTED Отправлено: 05 Апреля, 2012 - 09:53:37 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
UNTRUSTED пишет:
suPHP_ConfigPath /home/name/php/php.ini

Никто не знает, за такие штуки хостер не накажет?
UNTRUSTED Отправлено: 05 Апреля, 2012 - 09:45:38 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
EuGen пишет:
ini_set()
?

Тоже не работает! Огорчение
хотя я уже нашелУлыбка
в .htaccess вписать адрес своего php.ini
suPHP_ConfigPath /home/name/php/php.ini
Вот теперь уже другая задача.
Нужно ведь тогда не отдельные настройки, а полный php.ini записывать!
А вот с этим есть небольшие трудностиУлыбка
UNTRUSTED Отправлено: 05 Апреля, 2012 - 07:20:21 • Тема: php.ini • Форум: Вопросы новичков

Ответов: 10
Просмотров: 405
Такая ситуация, у меня на хостинге нет доступа к глобальному файлу php.ini.. Раньше была возможность изменять через .htaccess, а сейчас еле разобрался почему вылезает ошибка 500.. Запретили в .htaccess изменять. Нашел как вариант в каждую директорию добавлять файл php.ini с нужными настройками, но это не подходит, целая куча php.iniшков. Через phpinfo() выведал путь к системному файлу -
CODE (htmlphp):
скопировать код в буфер обмена
  1. Configuration File (php.ini) Path       /usr/lib
  2. Loaded Configuration File       /usr/local/lib/php.ini

Возможно что-то с этим поделать?
UNTRUSTED Отправлено: 04 Апреля, 2012 - 20:24:05 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 6
Просмотров: 239
Awesome пишет:
Объявляете в индексе константу SYSPATH.
А во всех других файлах прописываете в самом верху:


Это только для инкюдированных файлов подходит! На них просто нельзя зайти будет!
Впринципе можно использовать вместе с .htaccess

и лучше сделать так
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(!deflined(CONST)){header:Location;}

(Добавление)
А кто еще какие методы защиты кроме .htaccess и этой знает?
UNTRUSTED Отправлено: 04 Апреля, 2012 - 19:59:30 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 6
Просмотров: 239
Awesome пишет:
плюс если в начало каждого php-файла засунуть проверку на константу, которая объявляется только в индексе, то тогда вообще нереально вскрыть

Вот здесь давайте подробнее!
UNTRUSTED Отправлено: 04 Апреля, 2012 - 19:46:28 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 6
Просмотров: 239
Awesome пишет:
deny from all

Это я знаю, это все работает... Но вот думаю, может это можно как-то обойтиУлыбка
Awesome пишет:
Плюсы - не попасть извне, плюс данные файлы можно использовать сразу нескольким проектам.

т.е. и тот и тот варианты защищают на 100%, пока человек не получит доступа либо к ftp либо к cPanel?
UNTRUSTED Отправлено: 04 Апреля, 2012 - 19:34:38 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 6
Просмотров: 239
Инересует вопрос, если с помощью файла .htaccess запретить к чему-либо доступ, например к данной директории, это можно на 100% быть увереным что туда никто не попадет? Кроме случаев с взломом ftp или cPanel !!
(Добавление)
И еще, если файлы которые нужно защитить кидать выше public_html? Тогда?
И вообще, какие плюсы-минусы у того, если например все файлы php на которые напрямую не нужно чтобы пользователь заходил, а только которые инклудяться кидать выше public_html?

Страниц (17): « 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