Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Безопасный ввод текста [5]

 PHP.SU

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


 Страниц (7): « 1 2 3 4 [5] 6 7 »   

> Без описания
pvm741
Отправлено: 27 Июля, 2012 - 21:45:30
Post Id


Новичок


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




кажется ето бесплатный хостер default кодировку на базу поставил latin_svedish, но поля у меня utf-8

попробую на другом сервере. О как на щет моего скрипта выше если без html_character? Ето будет безопасно?
 
 Top
armancho7777777 Супермодератор
Отправлено: 28 Июля, 2012 - 00:41:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




tuareg пишет:
А я не пользовался ни разу подготовленными выражениями из PHP

Я имел в виду слеши.
 
 Top
pvm741
Отправлено: 28 Июля, 2012 - 11:46:41
Post Id


Новичок


Покинул форум
Сообщений всего: 59
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




думаю htmlspecialchars я откажус в скрипте, о вод как быть с preg_match и mysql_real_escape_string, сначала очистить или проверять на наличност симболов?
Какое мнение у друдих?

<?php

function dataprepare ($value)
{
$value=trim($value)
if (!preg_match("|^[[a-zA-Z0-9\-\_\(\)\.\,\ ]+$|",$str1)) {$error=1;}
if($error==1) {exit('Date validation!!! Try again!');}
else
{
$value = mysql_real_escape_string($value);
if (get_magic_quotes_gpc()) {$value = stripslashes($value);}
//$value = htmlspecialchars($value); //Ето нужно????
return $value;
}
}

$valueok=dataprepare($_POST['$value']);
// блок mysql query ---- INSERT ----
?>

а кокда вывoжу данные например в форму из mysql
//блок mysql query ---- SELECT ----
<input value='<?php echo $value; ?>' type='text' name='value'>
 
 Top
LIME
Отправлено: 29 Июля, 2012 - 22:14:57
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




pvm741 пишет:
думаю htmlspecialchars я откажус в скрипте
если это логин/пароль то да....конечн нафиг не надо
проверять только на допустимы символы
если что вывод мессаги
остальное от лукавого
 
 Top
Dazar
Отправлено: 01 Августа, 2012 - 12:38:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




А подскажите пожалуйста, как защититься от такой вещи, когда пользователь меняет цифру на что-нибудь другое, а скрипт выводит id в get-запросе, то есть script.php?id=assa вместо нормального script.php?id=254
 
 Top
Zuldek
Отправлено: 01 Августа, 2012 - 12:41:47
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




intval()
 
 Top
KingStar
Отправлено: 01 Августа, 2012 - 13:33:49
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)






-----
То что программа работает, не означает что она написана правильно!
 
 Top
Dazar
Отправлено: 01 Августа, 2012 - 14:04:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




А в чём разница между этими вариантами?
 
 Top
Hawkmoth
Отправлено: 01 Августа, 2012 - 14:30:59
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Янв. 2012  


Помог: 6 раз(а)




гм... не пользовался бы ни тем, ни этим, поскольку в общем случае всегда рискуем нарваться на что-то неопределенное.
Лучше жестко проверять на целочисленное значение:
PHP:
скопировать код в буфер обмена
  1. if (!preg_match('/^\d+$/'),$_GET['id'])) { ... }

вместо ... - действия в случае некорректного ввода id, например, принудительное присваивание id=1.

(Отредактировано автором: 01 Августа, 2012 - 19:52:31)

 
 Top
KingStar
Отправлено: 01 Августа, 2012 - 15:35:51
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)




и на что же такое неопределенное ты бы мог нарваться???

PHP:
скопировать код в буфер обмена
  1. $_GET['id'] = (int)$_GET['id'];
  2. if (empty($_GET['id'])) { $_GET['id'] = 1; }

(Отредактировано автором: 01 Августа, 2012 - 15:36:48)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
Zuldek
Отправлено: 01 Августа, 2012 - 15:43:05
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Dazar пишет:
А в чём разница между этими вариантами?

Разница в возможности у intval() передать основание системы счисления для приведения к числу. По умолчанию этот параметр равен 10.
 
 Top
DelphinPRO
Отправлено: 01 Августа, 2012 - 16:15:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




KingStar пишет:
(int)$_GET['id']

Чревато тем, что если вы не ождаете появление отрицательного значения, вам его можно легко пропихнуть Улыбка Где это может быть критично - думайте сами.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
LIME
Отправлено: 01 Августа, 2012 - 19:35:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




DelphinPRO ну чтож не дал ответ?)
 
 Top
tuareg
Отправлено: 01 Августа, 2012 - 19:38:53
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




А чисто так теоретически? Ну будет -n? Что будет-то?
 
 Top
LIME
Отправлено: 01 Августа, 2012 - 19:42:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Hawkmoth пишет:
по поводу посл. вопроса - http://kostjukov.miksar.ru/note/...du-intval-i-int/
а почему там комментарии отключены?
наверное надоело слушать что он идиот?
ой))...надеюсь не твой сайт))
(Добавление)
tuareg ну зависит от логики...взял бы и сам об этом написал...наводящие вопросы ексельмоксель))
 
 Top
Страниц (7): « 1 2 3 4 [5] 6 7 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB