Кто-либо знает, что хорошее программное обеспечение визуализации сети/графика - просто добавляет данные? [закрытый]

Как вы можете видеть, люди предлагают вам максимально использовать подготовленные заявления. Это не так, но когда ваш запрос выполняется всего один раз за процесс, будет небольшое снижение производительности.

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

Мой подход:

  • Если вы ожидаете, что ввод будет целым, убедитесь, что он действительно целое число. В языке с переменным типом, таком как PHP, этот очень важен. Вы можете использовать, к примеру, это очень простое, но мощное решение: sprintf("SELECT 1,2,3 FROM table WHERE 4 = %u", $input);
  • Если вы ожидаете чего-то еще от целого шестнадцатеричного значения. Если вы отбросите его, вы полностью избежите ввода. В C / C ++ есть функция, называемая mysql_hex_string() , в PHP вы можете использовать bin2hex() . Не беспокойтесь о том, что экранированная строка будет иметь размер в 2 раза по сравнению с исходной длиной, потому что даже если вы используете mysql_real_escape_string, PHP должен выделять одну и ту же емкость ((2*input_length)+1), что то же самое.
  • hex метод часто используется при передаче двоичных данных, но я не вижу причин, почему бы не использовать его во всех данных для предотвращения атак SQL-инъекций. Обратите внимание, что вам необходимо предварительно добавить данные с помощью 0x или использовать функцию MySQL UNHEX.

Так, например, запрос:

SELECT password FROM users WHERE name = 'root'

Будет:

SELECT password FROM users WHERE name = 0x726f6f74

или

SELECT password FROM users WHERE name = UNHEX('726f6f74')

Hex - идеальный выход.

Разница между функцией UNHEX и префиксом 0x

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

Префикс ** 0x ** может использоваться только для столбцов данных, таких как char, varchar, text, block, binary, и т. д. Кроме того, его использование немного сложно, если вы собираетесь вставить пустую строку. Вам придется полностью заменить его на '', или вы получите сообщение об ошибке.

UNHEX () работает в любом столбце; вам не нужно беспокоиться о пустой строке.


Hex-методы часто используются в качестве атак

Обратите внимание, что этот шестиугольный метод часто используется как атака SQL-инъекции, где целые числа точно так же, как и строки mysql_real_escape_string. Тогда вы можете избежать использования кавычек.

Например, если вы просто делаете что-то вроде этого:

"SELECT title FROM article WHERE id = " . mysql_real_escape_string($_GET["id"])

атака может очень легко ввести вас . Рассмотрим следующий введенный код, возвращенный из вашего скрипта:

SELECT ... WHERE id = -1 union all select table_name from information_schema.tables

и теперь просто извлеките структуру таблицы:

SELECT ... WHERE id = -1 union all select column_name from information_schema.column где table_name = 0x61727469636c65

И тогда просто выберите нужные данные. Разве это не круто?

Но если кодер инъекционного сайта будет шестнадцатеричным, инъекция не будет возможна, потому что запрос будет выглядеть следующим образом: SELECT ... WHERE id = UNHEX('2d312075...3635')

51
задан the_skua 29 July 2016 в 07:29
поделиться

14 ответов

Я не попробовал его сам, но возможно это достойное внимания в Omnigator; я искал что-то подобное некоторое время назад, и "тематические карты" хорошая фраза к Google, поскольку это звучит во многом как то, что Вы ищете.

2
ответ дан Jason S 7 November 2019 в 10:21
поделиться

GraphViz терпит полный провал на больших графиках. Попробуйте aiSee или взгляните на этот список .

3
ответ дан ЯegDwight 7 November 2019 в 10:21
поделиться

Я определенно дал бы networkx / Python попытка. это поддерживает различный API визуализации, такой как GraphViz, PyDot среди других. Но если Вы используете Flash, дают Вспышка попытка.

4
ответ дан Matthias 7 November 2019 в 10:21
поделиться

Если Вы не возражали бы [приблизительно 111] программирование, Вы могли бы использовать GraphViz.

10
ответ дан Frederick The Fool 7 November 2019 в 10:21
поделиться

TouchGraph Link Browser позволяет создавать интерактивный график и размещать его в Интернете.

Для редактирования графиков вам понадобится java 1.4.1 или 1.4.2. Чтобы увидеть свои графики в Интернете, вы можете использовать java 6.

2
ответ дан 7 November 2019 в 10:21
поделиться

NodeXL, бесплатная и открытая надстройка для Excel, которая поддерживает обзор, обнаружение и исследование сети. Код и приложение можно найти по адресу http://www.codeplex.com/nodexl .

NodeXL позволяет импортировать сетевые данные в виде списков ребер, матриц, graphML, UCINet, и файлы Pajek вместе с CSV и другими рабочими книгами.

NodeXL позволяет непрограммистам быстро генерировать полезную сетевую статистику и показатели и создавать визуализации сетевых графиков. Атрибуты фильтрации и отображения могут использоваться для выделения важных структур в сети.

NodeXL поддерживает исследование социальных сетей с помощью функций импорта, которые извлекают данные из личных индексов электронной почты на рабочем столе, в Twitter, Flickr и вскоре в Facebook.

] Последние функции, добавленные в NodeXL, включают более быстрый расчет метрик,

3
ответ дан 7 November 2019 в 10:21
поделиться

Для моей части я использую бесплатное программное обеспечение под названием «Visant». http://visant.bu.edu/ Это программное обеспечение, первоначально посвященное биологии, может использоваться для представления любой сети. Узлы и края могут иметь несколько форм и цветов. Их имя показано или нет. Узлы могут быть сгруппированы в комплексы или группы по выбранным критериям. Кроме того, эти комплексы или группы могут быть сложены, обеспечивая лучшую видимость графика. Эти группы и эти комплексы могут быть в свою очередь, могут быть инкапсулированы и метагрузятся метакомплексы и, следовательно, больше. Конечно, все эти операции обратимы. Есть много других функций, которые вы найдете, используя это программное обеспечение. И, наконец, его использование очень простое и интуитивно понятное.

Слать MA Part J'Utilise Le Logiciel Graituit Nommé 'Visant'. CE Logiciel D'Abord Dédié à la Biologie, Peut être Utilisé Plearsenter N'iMporte quel réseau. Les Noeuds et les Arêtes Petuvent Avoir de Multiple Formes et Couleves. Лер Ном Перепечатывает Оу PA. Les Noeuds Petuvent être Coverupés ru Комплексы OU Groups Sur des Critères Choisis. DE PLUS, CES Комплексы OU Groups Petuvent être Contractés, Procurant Une Meilleur Visibilité du Graphe. CES Groups ET CES Комплексы Petuvent à Leur Tour itre Engapsulés EN MÉTAGROPES ET MÉTACOMPLOMES ET AINSI DES SUITE.Bien Entendu, Toutes CES Opérations Sont Réversibles. Il y a de nombreuses autres fonconicalités que vous découvrirez ru Утилизируют CE Logiciel. Et Enfin, Le Meilleur, сын Утилизация Est Très Simple Et Très Intuitive.

20 января в 16:49

1
ответ дан 7 November 2019 в 10:21
поделиться

Есть хороший Диаграмма на основе с открытым исходным кодом: http://teethgrinder.co.uk/open-flash-Chart-2/ . Все графики обрабатываются в Flash-файле, и у вас есть возможность использовать JavaScript или параметры на HTML <Объектом> элемент для отправки данных.

Если вы измените данные через JavaScript, вы должны быть в состоянии реализовать зум; Хотя я ожидаю, что вам нужно будет написать JavaScript, чтобы сделать это.

0
ответ дан 7 November 2019 в 10:21
поделиться

Если вы хотите, чтобы это было интерактивным, и хотите включить его в веб-страницу, вы можете рассмотреть возможность использования флота плагина jQuery.

0
ответ дан 7 November 2019 в 10:21
поделиться

Здесь представлен документ, охватывающий самые быстрые варианты http://swtch.com/~rsc/regexp/regexp1.html в частности, это позволяет избежать наивных алгоритмов, которые становятся патологически медленными при использовании длинных узоров.

Он охватывает общие регулярные выражения, но реализацию можно ограничить требуемым подмножеством.

-121--3003481-

Без ограничений на значения узлов, и предполагая, что можно использовать только один список, я бы построил его следующим образом:

Представить каждый узел как (val; [int;...]) , где val - значение узла, а каждый int - позиция в списке одного из его потомков. При необходимости используйте непечатаемый разделитель.

Траверсал очень медленный.

-121--3536957-

Microsoft GLEE (теперь известный как MSAGL - Microsoft Automatic Graph Layout, доверяйте MS, чтобы взять имя и сделать его тупым) эффективен и, если вы .NET это легко использовать.

0
ответ дан 7 November 2019 в 10:21
поделиться

Это идея Workbench Network :

Они объединили много состояния визуализации художественных графиков в одну часть программного обеспечения с пользовательским интерфейсом. Вам не нужно делать какие-либо программирование, кроме, возможно, чтобы получить данные в одном из форматов, которые можно прочитать инструмент. Вы должны быть в состоянии увеличить и выходить и выходить в интерактивность. Это инструмент для исследователей для анализа сети.

1
ответ дан 7 November 2019 в 10:21
поделиться

На самом деле, я использовал NovaMind раньше, и даже несмотря на то, что способы описания и обозначения вещей различаются, большинство концепции те же.

0
ответ дан 7 November 2019 в 10:21
поделиться

Добавить к растущему списку: JavaScript InfoViz Toolkit обеспечивает чрезвычайно красивую графическую и сетевую визуализацию в браузере. Возможность масштабирования и т.д. Ссылка здесь .

6
ответ дан 7 November 2019 в 10:21
поделиться

Netvizz, приложение Facebook, создает файл .gdf, описывающий вашу личную сеть или группы, в которых вы состоите, и позволяет вам импортировать его в GUESS и Gephi. Найдите учебное пособие здесь .

1
ответ дан 7 November 2019 в 10:21
поделиться
Другие вопросы по тегам:

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