C#, Ясный все объекты в ListView

** Предупреждение: подход, описанный в этом ответе, применим только к очень конкретным сценариям и не является безопасным, поскольку атаки SQL-инъекции не только полагаются на возможность вставлять X=Y. **

Если злоумышленники пытаются взломать форму с помощью переменной PHP $_GET или с помощью строки запроса URL, вы сможете поймать их, если они не защищены.

RewriteCond %{QUERY_STRING} ([0-9]+)=([0-9]+)
RewriteRule ^(.*) ^/track.php

Поскольку 1=1, 2=2, 1=2, 2=1, 1+1=2 и т. д. ... являются распространенными вопросами к базе данных SQL злоумышленника. Возможно, он также используется многими хакерскими приложениями.

Но вы должны быть осторожны, чтобы не переписывать безопасный запрос с вашего сайта. Вышеупомянутый код дает вам возможность переписать или перенаправить (зависит от вас) эту динамическую строку запроса, зависящую от хакерства, на страницу, в которой будет храниться IP-адрес злоумышленника или EVEN THEIR COOKIES, история , браузера или любой другой конфиденциальной информации, поэтому вы можете иметь дело с ними позже, запретив их учетную запись или контактные органы.

26
задан tshepang 25 November 2013 в 15:54
поделиться

8 ответов

Как насчет

DataSource = null;
DataBind();
24
ответ дан Tony Basallo 28 November 2019 в 06:48
поделиться

Попробуйте это ...

myListView.DataSource = null;
myListView.Items.Clear();
20
ответ дан JaredPar 28 November 2019 в 06:48
поделиться

Я предполагаю, что Clear() вызывает отправку события Changed, которое, в свою очередь, запускает автоматическое обновление вашего списка из источника данных. Так что это особенность, а не ошибка ;-)

Вы пробовали myListView.Clear() вместо myListView.Items.Clear()? Может быть, это работает лучше.

4
ответ дан Treb 28 November 2019 в 06:48
поделиться

Проблема возникает из-за того, что вы пытаетесь очистить весь список. Просто используйте listView1.Items.Clear ();

2
ответ дан John Conde 28 November 2019 в 06:48
поделиться

Я предложил бы удалить строки из базового DataTable, или если Вы больше не нуждаетесь в таблице данных, устанавливаете источник данных в NULL.

0
ответ дан Martin Moser 28 November 2019 в 06:48
поделиться

Вероятно, Ваш код работает, но это - восстановление где-нибудь после очистки его. Удостоверьтесь что это это не случай. Будет более полезно при обеспечении некоторого кода. Где Вы устанавливаете свой источник данных? Где Вы - привязка данных? Где Вы очищаете список?

0
ответ дан Serhat Ozgel 28 November 2019 в 06:48
поделиться
listView.Items.Clear()
listView.Refresh() 

/ e Обновление из-за отсутствия объяснения. Часто Clear () не достаточно в случае следующих событий / методов. Лучше всего обновить представление с помощью Refresh () после Clear () для мгновенного отражения очистки listView. Это, так или иначе, решило мои проблемы.

0
ответ дан Jack Rohme 28 November 2019 в 06:48
поделиться

Не беспокойтесь о Clear (). Просто сделайте следующее: ListView.DataSource = null; ListView.DataBind ();

Ключ - это databind (); Работает каждый раз для меня.

2
ответ дан 28 November 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: