Forums / National / Russian / Сборка «Фриланс-биржа» / Небольшая заплатка по всяким биржам.

Kopusha
#1 2024-02-05 18:58

В стандартных файлах биржи в списках есть такой код

// Extra fields
foreach ($cot_extrafields[$db_market] as $exfld)
{
	$fld_value = cot_import($exfld['field_name'], 'G', 'TXT');
	$fld_value = $db->prep($fld_value);
	
	if(!empty($fld_value))
	{
		$where[$exfld['field_name']] = "item_".$exfld['field_name']." LIKE '%".$fld_value."%'";
	}
}

Наткнулся сегодня на сайт одних ребятишек которые насоздавали в магазине экстраполя куда писали информацию "не должную быть видимую" посетителям (например скидки каким то контрагентам, как в моем примере - данные поставщиков), ловко скрыли во всех tpl ее через <!-- IF {PHP.usr.isadmin} --> и очень уверенно пользуются сайтом, уверенные что это никому кроме админов не видно.
/market?e=market&l=ua&distributor=рогаикопыта&sort=&c=food&price1=0&price2=0&from=0&to=0&search=Поиск вполне уверенно показывает что они покупают, у кого и тд.

Очень были удивлены.

А в пейджах вроде тоже так можно через https://github.com/Cotonti/Cotonti/blob/master/modules/page/inc/page.list.php#L121 (это вопрос)

PS - в пейджах не сдает явки-пароли (почему?) а вот биржа - вполне.

This post was edited by Kopusha (2024-02-05 19:34, 2 months ago)
Alex300
#2 2024-02-06 06:51

Судя по LIKE - это поиск.

А вообще правила простые:

  • не надо выводить в браузер конфиденциальную информацию и тут <!-- IF {PHP.usr.isadmin} --> вполне годится.
  • не надо делать поиск поиск и фильтровать по полям, которые содержат конфиденциальную информацию. Если в запросе есть такой параметр, а у пользователя нет прав - игнорировать  или отдавать 404.

Экстраполя - не исключение. Если такая информация хранится в них - возможность поиска по ним надо тоже ограничивать. Если модуль не предоставляет белого/черного списка полей для фильтров - надо делать плагином.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
This post was edited by Alex300 (2024-02-06 09:28, 2 months ago)
Kopusha
#3 2024-02-06 11:11

Если не сложно - а что делает

https://github.com/Cotonti/Cotonti/blob/master/modules/page/inc/page.list.php#L121

Alex300
#4 2024-02-06 13:25

Проверяет что поле, по которому будет проводиться поиск, существует в БД

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/