Advertisement
Guest User

Untitled

a guest
Sep 6th, 2017
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.70 KB | None | 0 0
  1. package hello.aspect;
  2.  
  3. import org.aspectj.lang.JoinPoint;
  4. import org.aspectj.lang.ProceedingJoinPoint;
  5. import org.aspectj.lang.annotation.Aspect;
  6. import org.aspectj.lang.annotation.Before;
  7. import org.aspectj.lang.annotation.Pointcut;
  8. import org.springframework.stereotype.Component;
  9.  
  10. @Aspect
  11. public class XSSAspect {
  12. @Before(value = "execution(* hello.controllers.MessageAPIController.*(..))")
  13. public void before(final ProceedingJoinPoint joinPoint) throws Throwable {
  14. Object[] arguments = joinPoint.getArgs();
  15. for (int i = 0; i < arguments.length; i++) {
  16. if (arguments[i] instanceof String) {
  17. String s = (String) arguments[i];
  18. s = "testing";
  19. arguments[i] = s;
  20. }
  21. }
  22.  
  23. joinPoint.proceed(arguments);
  24. }
  25. }
  26.  
  27. <beans xmlns="http://www.springframework.org/schema/beans"
  28. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  29. xmlns:mvc="http://www.springframework.org/schema/mvc"
  30. xmlns:context="http://www.springframework.org/schema/context"
  31. xmlns:aop="http://www.springframework.org/schema/aop"
  32. xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
  33. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  34. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
  35. http://www.springframework.org/schema/tx
  36. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"
  37. xmlns:tx="http://www.springframework.org/schema/tx">
  38.  
  39. <aop:aspectj-autoproxy />
  40. <bean id="xssAspect" class="hello.aspect.XSSAspect" />
  41.  
  42. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  43. <property name="prefix">
  44. <value>/WEB-INF/jsp/</value>
  45. </property>
  46. <property name="suffix">
  47. <value>.jsp</value>
  48. </property>
  49. </bean>
  50. <bean id="sessionFactory"
  51. class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  52. <property name="dataSource" ref="dataSource" />
  53. <property name="packagesToScan" value="hello" />
  54. <property name="hibernateProperties">
  55. <props>
  56. <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
  57. <prop key="hibernate.dialect">${hibernate.dialect}</prop>
  58. </props>
  59. </property>
  60. </bean>
  61. <bean id="transactionManager"
  62. class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  63. <property name="sessionFactory" ref="sessionFactory"></property>
  64. </bean>
  65.  
  66. <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  67. <property name="maxUploadSize" value="268435456"/>
  68. </bean>
  69.  
  70. <bean id="freeMarkerConfigurationFactory" init-method="createConfiguration"
  71. class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
  72. <property name="templateLoaderPath" value="classpath:/freemarker"/>
  73. <property name="preferFileSystemAccess" value="false"/>
  74. </bean>
  75.  
  76. <bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  77. <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  78. <property name="url" value="jdbc:mysql://localhost:3306/carbudgy" />
  79. <property name="username" value="root" />
  80. <property name="password" value="dantheman" />
  81. </bean>
  82.  
  83.  
  84. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  85. <property name="host" value="smtp.gmail.com"/>
  86. <property name="port" value="25"/>
  87. <property name="username" value="carbudgymccarthy@gmail.com"/>
  88. <property name="password" value="Dantheman"/>
  89. <property name="javaMailProperties">
  90. <props>
  91. <prop key="mail.transport.protocol">smtp</prop>
  92. <prop key="mail.smtp.auth">true</prop>
  93. <prop key="mail.smtp.starttls.enable">true</prop>
  94. <prop key="mail.debug">true</prop>
  95. </props>
  96. </property>
  97. </bean>
  98. <bean id="TaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
  99. <property name="corePoolSize" value="5" />
  100. <property name="maxPoolSize" value="10" />
  101. <property name="queueCapacity" value="25" />
  102. <property name="daemon" value="true" />
  103. </bean>
  104.  
  105. <bean id="persistenceExceptionTranslationPostProcessor"
  106. class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
  107.  
  108.  
  109. <bean name="VehicleDao" class="hello.dao.VehicleDaoImpl">
  110. <property name="sessionFactory" ref="sessionFactory" />
  111. </bean>
  112. <bean name="ModelDao" class="hello.dao.ModelDaoImpl">
  113. <property name="sessionFactory" ref="sessionFactory" />
  114. </bean>
  115. <bean name="ManufactureDao" class="hello.dao.ManufactureDaoImpl">
  116. <property name="sessionFactory" ref="sessionFactory" />
  117. </bean>
  118. <bean name="UserDao" class="hello.dao.UserDaoImpl">
  119. <property name="sessionFactory" ref="sessionFactory" />
  120. </bean>
  121. <bean name="CurrencyDao" class="hello.dao.CurrencyDaoImpl">
  122. <property name="sessionFactory" ref="sessionFactory" />
  123. </bean>
  124. <bean name="ProposalDao" class="hello.dao.ProposalDaoImpl">
  125. <property name="sessionFactory" ref="sessionFactory" />
  126. </bean>
  127. <bean name="AcceptedProposalDao" class="hello.dao.AcceptedProposalDaoImpl">
  128. <property name="sessionFactory" ref="sessionFactory" />
  129. </bean>
  130. <bean name="ManufactureModelDao" class="hello.dao.ManufactureModelDaoImpl">
  131. <property name="sessionFactory" ref="sessionFactory" />
  132. </bean>
  133. <bean name="UploadDao" class="hello.dao.UploadDaoImpl">
  134. <property name="sessionFactory" ref="sessionFactory" />
  135. </bean>
  136. <bean name="VehicleService" class="hello.services.VehicleServiceImpl">
  137. <property name="vehicleDao" ref="VehicleDao" />
  138. <property name="manufactureModelDao" ref="ManufactureModelDao" />
  139. </bean>
  140. <bean name="UserService" class="hello.services.UserServiceImpl">
  141. <property name="userDao" ref="UserDao" />
  142. </bean>
  143. <bean name="CurrencyService" class="hello.services.CurrencyServiceImpl">
  144. </bean>
  145. <bean name="ManufactureService" class="hello.services.ManufactureServiceImpl">
  146. </bean>
  147. <bean name="ProposalService" class="hello.services.ProposalServiceImpl">
  148. <property name="proposalDao" ref="ProposalDao"></property>
  149. <property name="acceptedProposalDao" ref="AcceptedProposalDao"></property>
  150. </bean>
  151. <bean name="ModelService" class="hello.services.ModelServiceImpl">
  152. </bean>
  153. <bean name="EmailService" class="hello.services.EmailServiceImpl">
  154. <property name="taskExecutor" ref="TaskExecutor" />
  155. </bean>
  156. <bean name="UploadService" class="hello.services.StandardUploadService">
  157. </bean>
  158. <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  159. <property name="basename" value="messages" />
  160. </bean>
  161.  
  162. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
  163. <property name="defaultLocale" value="en" />
  164. </bean>
  165.  
  166.  
  167. <mvc:interceptors>
  168. <mvc:interceptor>
  169. <mvc:mapping path="/**" />
  170. <bean id="localeChangeInterceptor"
  171. class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
  172. <property name="paramName" value="lang" />
  173. </bean>
  174. </mvc:interceptor>
  175. </mvc:interceptors>
  176.  
  177. <context:component-scan base-package="hello" />
  178. <tx:annotation-driven transaction-manager="transactionManager"/>
  179. <mvc:annotation-driven />
  180. <context:annotation-config />
  181. </beans>
  182.  
  183. package hello.controllers;
  184.  
  185. import hello.api.APIResponse;
  186. import hello.api.UploadAPIResponse;
  187. import hello.aspect.AntiJavascript;
  188. import hello.models.Upload;
  189. import org.springframework.stereotype.Controller;
  190. import org.springframework.ui.ModelMap;
  191. import org.springframework.web.bind.annotation.RequestMapping;
  192. import org.springframework.web.bind.annotation.RequestMethod;
  193. import org.springframework.web.multipart.MultipartFile;
  194.  
  195. @Controller
  196. public class MessageAPIController extends APIController {
  197. @RequestMapping(value="/message", method = RequestMethod.GET)
  198. public String showMessage(String message, ModelMap model) throws Exception {
  199. model.addAttribute("message", message);
  200. return new String("message");
  201. }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement