powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Про инъекции
6 сообщений из 6, страница 1 из 1
Про инъекции
    #38366643
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаясь к вопросу после которого меня забанили

В процессинговом скрипте в процессе написания преобразования сама собой нарисовалась прикольная фича:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
...
	if(is_array($elem)) {
		$k = htmlentities(key($elem), ENT_QUOTES, "UTF-8");
		$v = $elem[$k];
		$obj->{$names[$cnt]} = $k;
		$obj = obj_traverse($v, ++$cnt, $obj);	
	} else {
...



Что произойдет если в индентификаторе окажется хтмл-ентитька? Ключ не подойдет ни к одному элементу массива и скрипт выкатит еррор, который надо отловить чтобы вежливо сообщить.

Ну и пользуясь случаем продолжу. Значения фильтруются тупо:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
...
	$value = $link->real_escape_string($value);
	
	switch ( $type ) {
		
		case 1: // tiny int 
		case 16: // bol
			$value = ($value === true) ? 1 : 0;
		break;
		
		case 2: // small int
		case 3: // int
		case 8: // big int, serial
		case 9: // medium int
			$value = intval($value);
		break;

		case 4: // float
		case 5: // double
			$value = floatval($value);
		break;
		
...	

		$value = '"' . trim($value) . '"';
		break;

		default:
		die('Остановлено. Неизвестный тип данных: ' . $type );



real_escape_string непосредственно связана с объектом коннекта, который непосредственно знает о заданной кодировке канала и непосредственно четко ремонтирует неисправные значения.

И никаких пэдэо с параметризацией.
...
Рейтинг: 0 / 0
Про инъекции
    #38366677
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторWarning

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

mysqli_real_escape_string()
PDO::quote()
...
Рейтинг: 0 / 0
Про инъекции
    #38366766
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrow,

Дожились, ООП от процедуры не отличаем.
...
Рейтинг: 0 / 0
Про инъекции
    #38366770
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати бул неправильно проверяется. Не было возможности напороться, на яве сделано так: общая проверка на число

return !isNaN(parseFloat(n)) && isFinite(n);

и в финале

value = parseInt(value) & 1;
...
Рейтинг: 0 / 0
Про инъекции
    #38366917
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debloggerScareCrow,

Дожились, ООП от процедуры не отличаем.
ну тогда покажите что внутри
$link->real_escape_string
...
Рейтинг: 0 / 0
Про инъекции
    #38366985
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
debloggerхтмл-ентитькаНе могли бы Вы пояснить, о какой такой титьке Вы пишите на форуме по программированию?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Про инъекции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]