Asp. Сетевые GridView удаляют моделирование HTML

Я не на 100% уверен, что это работало бы, по крайней мере, не без попытки.

, Но кажется, как будто это должно быть возможно, хотя технически бросив вызов, чтобы записать серверной стороне скремблер HTML/CSS, который берет в качестве его входа нормальную страницу HTML + связанные файлы, и производит более или менее пустую страницу HTML, наряду с запутываемым файлом JavaScript, который способен к восстановлению страницы. JavaScript не мог только распечатать простые узлы DOM, конечно..., но он мог выложить сложный набор наложения, абсолютно расположенных отделений и абзацев, каждый содержащий одну букву, таким образом, он выходит совершенно читаемый.

Боты не смогут считать его, если они не будут иметь, используют полный механизм визуализации и достаточно AI для восстановления то, что видел бы человек.

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

Предоставленный, пишущий такой obfuscater было бы трудным, и вероятно не стоил бы того. Но это - мысль.

6
задан Melursus 21 August 2009 в 18:49
поделиться

2 ответа

Взгляните на CSS-дружественные адаптеры управления ASP.NET 2.0 на веб-сайте ASP.NET.

Он не только удаляет большинство уродливых атрибутов, но и также добавляет теги thead и tbody .

8
ответ дан 9 December 2019 в 20:46
поделиться

Вы можете просто использовать файл скина (темы), например:

<asp:GridView runat="server" BorderStyle="None" CellSpacing="5"/>

, или вы можете написать ControlAdapter, в котором вы можете контролировать всю визуализацию GridView.

public class GridViewAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
{
  protected override void RenderContents(HtmlTextWriter writer)
        {                
                GridView gridView = Control as GridView;
                if (gridView != null)
                {
                    writer.Indent++;
                    WritePagerSection(writer, PagerPosition.Top);

                    writer.WriteLine();
                    writer.WriteBeginTag("table");
                    writer.WriteAttribute("cellpadding", "0");
                    writer.WriteAttribute("cellspacing", "0");
                    writer.WriteAttribute("summary", Control.ToolTip);
...

затем добавьте адаптер в файл браузера:

<browsers>
  <browser refID="Default">
    <controlAdapters>    
      <adapter controlType="System.Web.UI.WebControls.GridView"
               adapterType="CSSFriendly.GridViewAdapter" />
...
3
ответ дан 9 December 2019 в 20:46
поделиться
Другие вопросы по тегам:

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