Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с авторизацией, не удаляются пробелы!!!! 
:(
    Опции темы
ReactOS
Дата 6.5.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Добрый день!

Код

<?php

//удаляем пробелы в начале и в конце строки
if(isset($_POST['myname'])) $name = trim($_POST['myname']);
else $name = "";

//Если значение переменной пусто, выводим сообщение об ошибке
if (empty($name))    {
    echo("Не введено обязательное к заполнению поле \"name\"<br>");
    echo("<a href=# onClick='history.back()'>Вернуться к правке</a>");
    exit();
}

else    {
include_once("config.php");

$login = $_REQUEST['myname'];
$pass = $_REQUEST['pass'];

$sql = "SELECT * FROM usrdata WHERE login = \"$login\" AND pass = \"$pass\"";

$auth = mysql_query($sql);

if(mysql_num_rows($auth) == 0)
    {
    exit("Ошибка авторизации!");
    }
else
    {
    echo("Авторизация пройдена!");
    }
}

?>



Все работает, кроме одного момента!!!!!!
Когда в форме (когда хочу авторизоваться), я делаю пробелы меня перенаправляет на строку exit("Ошибка авторизации!");
А по идее, функция trim() должна была удалить пробелы!!!!!!!

Как я это выявил? Посколько в базе exists login/pass == admin/1234, я в поле набрал "........admin......."
*где (...) - эти точки === пробелы

Разве функция trim() не предназначена для удаления пробелов?
Насколько я понял, встроенная функция должна была выявить среди символов пробельные символы и удалить их?
Или я не понимаю саму работу функции trim() ??????
Хотя, в мане было вроде написано, что она непосредственно пробелы в начале/конце input удаляет.
PM   Вверх
Fortop
Дата 6.5.2008, 17:42 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(fortrun @  6.5.2008,  17:39 Найти цитируемый пост)
$login = $_REQUEST['myname'];

А где ты тут удалил пробелы? smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 6.5.2008, 17:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



fortrun, ошибка логики
PM MAIL WWW ICQ Skype   Вверх
Canarat
Дата 6.5.2008, 17:53 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Где-то $_POST, где-то $_REQUEST...+ неслабый посыл к SQL-инъекции.

Страшный код
PM MAIL   Вверх
ReactOS
Дата 6.5.2008, 17:54 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(awers @  6.5.2008,  17:44 Найти цитируемый пост)
ortrun, ошибка логики



Цитата(Fortop @  6.5.2008,  17:42 Найти цитируемый пост)
А где ты тут удалил пробелы?  smile 


Хм... что-то у меня ступор в мыслях.... не понимаю, в чем ошибка логики скрипта?

Такс... разберем:

Возьмем строку, которую выделил Fortop
Код

$login = $_REQUEST['myname'];


такс... во-первых функция trim() у меня идет раньше; 4 строка
Код

if(isset($_POST['myname'])) $name = trim($_POST['myname']);

По логике, у меня в той форме (где я ввожу свои данные), по методу отсылки "POST" (массив $_POST, хотя если честно не знаю разницы между $_POST и $_REQUEST) отправляем данные, потом уже с полученными данными в массиве $_POST идет проверка, и исполняется функция trim(), значит пробелы-то должны были быть удалены )

Прошу не ругать, если бред несу, учимся еще  smile

Добавлено через 3 минуты и 3 секунды
Цитата(Canarat @  6.5.2008,  17:53 Найти цитируемый пост)
Страшный код

 smile  smile  smile первые блины - всегда комом получаются


Цитата(Canarat @  6.5.2008,  17:53 Найти цитируемый пост)
Где-то $_POST, где-то $_REQUEST...+ неслабый посыл к SQL-инъекции.

а подробнее нельзя?

что где-то $_POST, а где-то $_REQUEST === уже чувствую ужас ))) прошу простить мои незнания, коль так вас испугал, будем исправляться

 
Цитата(Canarat @  6.5.2008,  17:53 Найти цитируемый пост)
неслабый посыл к SQL-инъекции.

Уважаемый Canarat, прошу рассказать про этот момент очень подробно, почему неслабый? И как уберечься от sql-инъекции????

Добавлено через 6 минут и 22 секунды
Цитата(Fortop @  6.5.2008,  17:42 Найти цитируемый пост)
А где ты тут удалил пробелы? 

ааааааааааааааа!!!!!!!!!!!!!!!  smile  smile  smile  smile  smile 

балда!!! ))))) тут их надо было удалять )))))))

Вот, ньюб! ))))))
PM   Вверх
ReactOS
Дата 6.5.2008, 18:15 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Я, надеюсь, что Fortop, понял, что это я про себя, а не про него, а то в моем контексте можно по-другому понять смысл smile

Добавлено @ 18:17
Цитата(A1ekcandr @  6.5.2008,  18:14 Найти цитируемый пост)
fortrun может быть гугл пошарить лучше, чем все подрят спрашивать

По Гуглу пошарил, нашел ман, почитал ман, мне пишут, что здесь есть sql-инъекция, а так же, что код - страшен, вот и я спрашиваю ))) где и как?
Извини, но Гугл насегодня еще не так совершенно сделан, чтобы объяснить в чем заключается ужас именно моего кода )))

Добавлено @ 18:19
Цитата(A1ekcandr @  6.5.2008,  18:14 Найти цитируемый пост)
чем все подрят спрашивать

не уж что так плохо спрашивать у кого мало знаний, и так плохо отвечать у кого их много?

Это сообщение отредактировал(а) fortrun - 6.5.2008, 18:23
PM   Вверх
Fortop
Дата 6.5.2008, 18:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



$_POST - хранит данные пришедшие методом POST
$_GET - соответственно для GET
$_REQUEST = $_POST + $_GET (причем одинаковые ключи еще и затираются).

использовать кашу из этих массивов - не стоит. Они для того и разные, чтобы ты мог отследить, как к тебе пришло то или иное значение.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
bobik02
Дата 6.5.2008, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(Fortop @  6.5.2008,  18:25 Найти цитируемый пост)
$_REQUEST = $_POST + $_GET

+ $_COOKIE


--------------------
Have a nice day
PM   Вверх
ReactOS
Дата 6.5.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Уважаемый Fortop, а не будите ли вы столь любезны рассказать про sql-инъекцию в моем страшном коде? )))
А то, Уважаемый Canarat, не захотел мне расписать возможные дыри в моем коде )))

Это пойдет на пользу моей базе знаний по Веб-программированию smile

Добавлено через 42 секунды
Цитата(bobik02 @  6.5.2008,  18:34 Найти цитируемый пост)
$_COOKIE

темный лес для меня пока массив $_COOKIE )))
с ним я даже пока не работал )))
PM   Вверх
A1ekcandr
Дата 6.5.2008, 18:40 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 27.6.2007

Репутация: 1
Всего: 1



PM MAIL   Вверх
ReactOS
Дата 6.5.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(A1ekcandr @  6.5.2008,  18:40 Найти цитируемый пост)
ну что за народ http://ru.wikipedia.org/wiki/%D0%98%D0%BD%...D0%B8%D1%8F_SQL

народ - нет, есть один человек  smile , уважаемый A1ekcandr

Потом я склонен думать, что вы, уважаемый A1ekcandr, немного не поняли, что я хотел бы узнать!
Наверное, на Википедии, не рассмотрен частный случай кода fortrun, вы же не будите спорить?  smile

Добавлено через 6 минут и 1 секунду
Цитата(Fortop @  6.5.2008,  18:25 Найти цитируемый пост)
$_REQUEST = $_POST + $_GET (причем одинаковые ключи еще и затираются).

а вот этого не знал! что еще одинаковые ключи еще и затираются smile
спасибо вам, Fortop!  smile  
PM   Вверх
ReactOS
Дата 6.5.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(bobik02 @  6.5.2008,  19:08 Найти цитируемый пост)
покупают пару хороших книг

почему-то читая этот же форум, все пишут "книги выбрось, используй чисто php.net" 

Цитата(bobik02 @  6.5.2008,  19:08 Найти цитируемый пост)
Я не к тому что вы новичек(как и я впрочем) и это не полемика , просто лучше бы было занять последовательную позицию .

будем стараться идти к идеалу )
PM   Вверх
bobik02
Дата 6.5.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(fortrun @  6.5.2008,  19:13 Найти цитируемый пост)
почему-то читая этот же форум, все пишут "книги выбрось, используй чисто php.net" 

Кто такое пишет ?? (конкретизируйте пожалуйста)

я лично выражения "использовать только php.net!" не замечал (да и не думаю я что кто то бы стал такое говорить). безусловно на  php.net  - отличная документация по синтаксису,конструкциям,функциям и др. я думаю вы понимаете чем отличаються книги от "чисто php.net"

и давайте закругляться с флудом ?  smile 


--------------------
Have a nice day
PM   Вверх
ReactOS
Дата 6.5.2008, 19:22 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 6.12.2007

Репутация: нет
Всего: 33



Цитата(bobik02 @  6.5.2008,  19:21 Найти цитируемый пост)
Кто такое пишет ?? (конкретизируйте пожалуйста)

SelenIT и Parrot советовали в одной теме, найду дам линк smile

Добавлено через 2 минуты и 47 секунд
http://forum.vingrad.ru/forum/topic-178499/unread-1.html
вот и линк  smile 
PM   Вверх
bobik02
Дата 6.5.2008, 19:41 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(fortrun @  6.5.2008,  19:22 Найти цитируемый пост)
SelenIT и Parrot советовали в одной теме

мда... очень жаль что вы не правильно полянли :(

если условно поделить то есть "хорошие книги" а есть "неочень"
где хорошие книги: обычно в толстом переплете(но не всегда), наисаные опытными программистами, с хорошими примерами, рекомендациями... (о таких книгах обычно положительные отзивы) и это еще не все это можно продолжать
"неочень" - это в основном маленикие книжечки(хотя не всега),плохо оформленые, много воды, плохие примеры (у меня самого есть две книги которые можно к этому отнести, правда они по С++, но это не важно)
опять же надо учитывать тот факт что все - относительно ! (т.е. это все нельзя относить ко всем книгам)


--------------------
Have a nice day
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.