Санитарная обработка базы данных

java php database sanitize

46 просмотра

2 ответа

У меня есть данные формы, которые получили код Java от пользователя и хранят его в базе данных.

Итак, как мне санировать ввод, чтобы убедиться, что это действительно код Java?

Автор: Ninja Источник Размещён: 08.11.2019 10:55

Ответы (2)


-1 плюса

что вы хотите достичь с этим, вы хотите сохранить Java-код в базе данных? ну, если вы хотите сделать что-то подобное, то вам нужны регулярные выражения, я думаю, это первое, что приходит мне в голову

Автор: Pavul Zavala Размещён: 20.08.2016 05:36

-1 плюса

Это звучит несколько опасно (не хранение java-текста в БД), но почему такой вариант использования подходит. Тем не менее ...

Если вы не собираетесь ожидать все аспекты языка Java, вы можете заглянуть в BeanShell. Beanshell может взять исходный код Java и оценить его без компиляции. Скорее всего, вы можете «кодировать» код, не выполняя его. Если он проходит, то это Java-код, если нет, то это не Java-код. Однако Beanshell не принимает весь современный синтаксис и структуры более новых выпусков Java.

Один простой способ убедиться, что это действительно Java-код, - это попытаться скомпилировать его (это, конечно, становится грязно, если код требует зависимостей). Если вы выберете этот путь, то убедитесь, что вы компилируете на компьютере / пользователе DMZ (я не знаю о каких-либо рисках компиляции ненадежного кода, но это может быть) .... просто не запускайте код после того, как вы скомпилируйте это!

Автор: adamM Размещён: 20.08.2016 06:05
Вопросы из категории :
32x32