Afzaal Ahmad Zeeshan
Цитата:
Атаки с использованием SQL-инъекций возможно с помощью ресурсов(.файл resx).
Инъекция SQL становится возможной, когда ваши запросы подвергаются воздействию инъекции кода. Не имеет значения, как вы храните запросы, а как они выполняются. Это не принесет никакой пользы, если вы храните и загружаете SQL-запросы из файла или даже из сети, или храните их в файлах ресурсов или в памяти, если запрос подвергается инъекции, он будет введен с кодом.
Подумайте о коде, если вы объединяете строки, например,
var query = "SELECT * FROM table_name WHERE primary_column = '" + variable + "';
Не имеет значения, исходит ли этот запрос от ресурса, сети или жестко закодирован внутри программы. Вам нужно изменить этот запрос, чтобы предотвратить инъекцию.
Цитата:
Если sql-инъекция возможна, то как и где поддерживать все sql-запросы.
Вы должны писать запросы безопасным способом, например, рекомендуется использовать параметры. Вы также должны рассмотреть, может ли пользователь изменить любой из этих запросов или нет. Ваша программа должна заботиться о запросах, которые она выполняет.
Хотя каждый движок имеет свои собственные лазейки безопасности, вы можете довольно легко найти документацию и рекомендации на основе экземпляров в Google, но я бы рекомендовал вам начать отсюда,
SQL-инъекция | Microsoft Docs[
^].
0x01AA
Я не думаю, что можно предотвратить манипулирование данными ресурса, и тогда даже код правильно реализован с помощью параметров, вы всегда можете манипулировать ресурсом и добавлять вредоносные SQL-операторы. Но это действительно очень теоретический сценарий. Может быть, я и ошибаюсь, но я так не думаю
Afzaal Ahmad Zeeshan
Именно в этом и был смысл. Пользователь может легко изменять правильно реализованные и безопасные SQL-запросы, если они записаны в файлы ресурсов.
Они могут применить некоторые трюки, чтобы противостоять этому—помните, что эти глупые хаки требуются только в том случае, если SQL-запросы хранятся в файлах ресурсов, ни один здравомыслящий ум не будет этого делать.
Один из способов, который я могу придумать, - это проверить, соответствует ли запрос хэш-значению, сгенерированному защищенным запросом. Если вмешательство сделано, они могут прерваться. Но, конечно, был бы безопасный и лучший подход к этому.
Что касается хранения в файле ресурсов, то я просто следил за OP, в противном случае я не нахожу никаких причин для этого. :-)
0x01AA
Что, наконец, является аргументом для подписанных заявлений, даже я не очень доволен этим в данный момент. Во всяком случае сейчас 5 ;)