Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / sping security / 5 сообщений из 5, страница 1 из 1
03.03.2014, 14:37
    #38576881
romanj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sping security
Dobryi denn,
razbirajuss s CSRF escape mehanizmom v spring projekte
U menja vopros kak proverit rabotosposobnost koda.






web.xml
Код: java
1.
2.
3.
<listener>
  <listener-class>ee.ergo.eup.common.security.XmlEscapingELResolverListener</listener-class>
</listener>


xmlEscapingElResolver.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
import java.beans.FeatureDescriptor;
import java.util.Iterator;
import javax.el.ELContext;
import javax.el.ELResolver;
import org.apache.commons.lang.StringEscapeUtils;

/**
 * {@link ELResolver} which escapes XML in String values.
 */
public class XmlEscapingELResolver extends ELResolver {

	private ThreadLocal<Boolean> excludeMe = new ThreadLocal<Boolean>() {
		@Override
		protected Boolean initialValue() {
			return Boolean.FALSE;
		}
	};

	@Override
	public Class<?> getCommonPropertyType(ELContext context, Object base) {
		return null;
	}

	@Override
	public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) {
		return null;
	}

	@Override
	public Class<?> getType(ELContext context, Object base, Object property) {
		return null;
	}

	@Override
	public Object getValue(ELContext context, Object base, Object property) {

		try {
			if (excludeMe.get()) {
				return null;
			}

			// This resolver is in the original resolver chain. To prevent
			// infinite recursion, set a flag to prevent this resolver from
			// invoking the original resolver chain again when its turn in the
			// chain comes around.
			excludeMe.set(Boolean.TRUE);
			Object value = context.getELResolver().getValue(context, base, property);

			if (value instanceof String) {
				value = StringEscapeUtils.escapeXml((String) value);
			}
			return value;

		} finally {
			excludeMe.remove();
		}
	}

	@Override
	public boolean isReadOnly(ELContext context, Object base, Object property) {
		return true;
	}

	@Override
	public void setValue(ELContext context, Object base, Object property, Object value) {
	}
}




XmlEscapingELResolverListener

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.jsp.JspFactory;

public class XmlEscapingELResolverListener implements ServletContextListener {

	public void contextInitialized(ServletContextEvent event) {
		JspFactory.getDefaultFactory().getJspApplicationContext(event.getServletContext())
				.addELResolver(new XmlEscapingELResolver());
	}

	public void contextDestroyed(ServletContextEvent event) {
	}

}
...
Рейтинг: 0 / 0
03.03.2014, 14:41
    #38576885
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sping security
romanjU menja vopros kak proverit rabotosposobnost koda.

Собрать war модуль. Задеплоить в JEE контейнер. Использовать отладчик IDE.
...
Рейтинг: 0 / 0
03.03.2014, 14:46
    #38576891
romanj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sping security
Spasibo. Vsje eto sdelano.Uspesno rabotaet. Prosto ne znaju kak protestirovat.
Pridumat kakoi to case,chtoby CSRF escape mehanizm rabotal
...
Рейтинг: 0 / 0
03.03.2014, 14:55
    #38576903
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sping security
romanjUspesno rabotaet. Prosto ne znaju kak protestirovat.
Если успешно работает, то зачем тестировать?

romanjPridumat kakoi to case,chtoby CSRF escape mehanizm rabotal
То есть вы решали проблему, которой небыло?
...
Рейтинг: 0 / 0
03.03.2014, 15:03
    #38576917
romanj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sping security
da etoi problemy ne bylo,no teoreticheski ona mozet vozniknut
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / sping security / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]