Согласно документу образы VM для глубокого обучения , он использует Debian 9 «Stretch»
. Поэтому все, что вам нужно сделать, это следовать этому документу . в Debian 9
Используя тестовый пакет, начните с редактирования файла /etc/apt/sources.list в вашем любимом редакторе (мы будем использовать nano) и добавьте строку ниже в Внизу файла:
# sudo nano /etc/apt/sources.list
deb http://ftp.de.debian.org/debian testing main
Затем выполните следующую команду, чтобы установить «стабильный» репозиторий по умолчанию на вашем сервере:
# echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
Теперь обновите список пакетов:
[ 112]
И установите Python 3.6.4 из репозитория Debian 'testing', используя следующую команду:
# sudo apt-get -t testing install python3.6
Если все прошло хорошо, выполните следующую команду, чтобы открыть интерпретатор Python 3.6.4:
# python3.6
Следующее является моим переводом из кода Java, упомянутого Sophia в C#.
/// <summary>
/// Escapes the LDAP search filter to prevent LDAP injection attacks.
/// </summary>
/// <param name="searchFilter">The search filter.</param>
/// <see cref="https://blogs.oracle.com/shankar/entry/what_is_ldap_injection" />
/// <see cref="http://msdn.microsoft.com/en-us/library/aa746475.aspx" />
/// <returns>The escaped search filter.</returns>
private static string EscapeLdapSearchFilter(string searchFilter)
{
StringBuilder escape = new StringBuilder(); // If using JDK >= 1.5 consider using StringBuilder
for (int i = 0; i < searchFilter.Length; ++i)
{
char current = searchFilter[i];
switch (current)
{
case '\\':
escape.Append(@"\5c");
break;
case '*':
escape.Append(@"\2a");
break;
case '(':
escape.Append(@"\28");
break;
case ')':
escape.Append(@"\29");
break;
case '\u0000':
escape.Append(@"\00");
break;
case '/':
escape.Append(@"\2f");
break;
default:
escape.Append(current);
break;
}
}
return escape.ToString();
}
Я нашел решение здесь в сообщении в блоге об Инжекции LDAP
Это решение включает добавление Вашей собственной функции для выхода из имени пользователя и доменного имени, его решение находится в Java, но идея там.
Также списки MSDN, какие специальные символы должны быть заменены escape-последовательностями.
Насколько я могу сказать, кажется, нет никакого метода для выхода из строк LDAP в Системе. DirectoryServices (как существует в HttpServerUtility для URL и т.д.),
Вы пытаетесь предотвратить своего рода инжекционное нападение на свой сервер каталогов через ввод данных пользователем? Если это так, я просто проверил бы вход с Regex прежде, чем передать его LDAP.
Возможно, позвольте кому-то еще волноваться об этом? Посмотрите LINQtoAD.