Jump to content
Sign in to follow this  
proba

Интересная логика кода

Recommended Posts

в файлах thumb.class.php, mysql.php, memcache.class.php имеется строка:

header ( 'Location: ../' );

в файлах frame.css шаблонов для a.progressCancel указано:

background: url(../../engine/classes/uploads/swfupload/cancelbutton.gif) no-repeat -14px 0;

хоть шаблоны считаются демонстрационными, но всё же ...

Share this post


Link to post
Share on other sites

Не знаю, что будет в 13.3, но 13.2:

В файле register.php -> check_reg() емайл в 50 символов можно указать и зарегаться, но при авторизации, если auth_metod = 1, зайти не получится, т.к. там допускается всего 40.

Share this post


Link to post
Share on other sites

не баг, а так, чтобы не плодить темы...

 

в файле xfields.php есть код:

switch ($xfieldsaction) {
  case "configure":

	if( ! $user_group[$member_id['user_group']]['admin_xfields'] ) {
		msg( "error", $lang['index_denied'], $lang['index_denied'] );
		die();
	}

функция msg() и так использует die().

 

в файле default.skin.php есть такое:

$sidebar= "";
...
if( count( $menu_item ) ) $sidebar= implode("", $menu_item);
else $sidebar= "";

переменная sidebar изначально определили, и условие else тут смысла не имеет.

Share this post


Link to post
Share on other sites

В файлах pm.php имеются запросы на получение данных из БД, одним из параметров выборки указывается $member_id['name'] не обработанный safesql (правда при сохранении данных всё же подвергается ей). С одной стороны массив member_id заполняется данными из БД и вроде как эти же данные как раз используются для запроса, но с другой стороны, в других файлах предварительно подвергается safesql и получается, что данным находящимся в данном массиве нет доверия. А если не доверия, то тогда нельзя доверять и $member_id['user_id'] который так же, порой, используется при выборке. Где в таком случае подвох?! 😎

Share this post


Link to post
Share on other sites
15 минут назад, proba сказал:

А если не доверия, то тогда нельзя доверять и $member_id['user_id'] который так же, порой, используется при выборке.

структура БД такова, что там может хранится только число, экранировать число нет смысла.

Share this post


Link to post
Share on other sites
13 часов назад, celsoft сказал:

структура БД такова

Здесь вопросов нет.

 

Я имел ввиду, что раз в основном в запросах при выборке данных предварительно подвергается safesql(), типа мало ли что там в $member_id['name'] содержится, то почему тогда $member_id['user_id'] не подвергается, например, intval(), а используется как:

13 часов назад, celsoft сказал:

там может хранится только число

Но раз вы уверены, что там число, то почему тогда сомнение, что в $member_id['name'] может быть что-то не то и чисто для перестраховки пропускаете через safesql(). Получается, что либо в одном случае упущение, либо в другом - лишняя перестраховка.

 

Share this post


Link to post
Share on other sites

На самом деле все намного проще. Число всегда останется числом, это факт который не изменить, а вот допустимые символы строки всегда могут поменяться. На текущий момент DLE допускает только символы в логине, которые не требуют дополнительной экранизации, но все может изменится, хотя пока и не планируется. Поэтому это такой задел на будущее, чтобы если будем менять, меньше кода подвергать изменениям. По сути задел на будущее. Код персональных сообщений, это код "волосатых годов", когда бы намного меньше думали о будущем 😀 Просто мы не переписываем код ради кода, только ради функциональности, придет время перепишем и его. Персональные сообщения давно уже требуют улучшений 😁

  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...