โครงการนี้ใช้ตัวกรอง servlet ResponseHardening ซึ่งทำหน้าที่เป็น botwall สำหรับแอปพลิเคชันเว็บ Java ของคุณ ตัวกรองเขียนองค์ประกอบ input และ form ทั้งหมดบนหน้าเว็บของคุณอย่างโปร่งใสเพื่อให้ค่าสุ่มซึ่งทำให้ยากต่อการขูดโดยอัตโนมัติ คุณไม่จำเป็นต้องแก้ไขแอปพลิเคชันของคุณ
ตรวจสอบให้แน่ใจว่า botwall4j jar มีอยู่ใน ClassPath ของคุณ จากนั้นคุณสามารถแก้ไขไฟล์ web.xml เพื่อรวมตัวกรองดังนี้:
<filter>
<filter-name>Botwall4J</filter-name>
<filter-class>org.lambdasec.botwall4j.ResponseHardening</filter-class>
</filter>
<filter-mapping>
<filter-name>Botwall4J</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
สำหรับการทำงานของแอปพลิเคชันของคุณอย่างเหมาะสมตัวกรองนี้ควรเป็นตัวแรกในห่วงโซ่ตัวกรอง คุณสามารถมั่นใจได้ว่าใน web.xml โดยกำหนดไว้เหนือตัวกรองอื่น ๆ ทั้งหมด
นอกจากนี้ยังเป็นไปได้ที่จะใช้โดยไม่ต้องกำหนดค่า web.xml ตัวอย่างเช่นในแอปพลิเคชันสปริงบูตคุณสามารถเพิ่มไลบรารี botwall4j ไปยังแอปพลิเคชันของคุณและลงทะเบียนตัวกรองโดยใช้ filterRegistrationBean :
@Bean
public FilterRegistrationBean responseHardeningFilterRegistrationBean() {
final FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
filterRegBean.setFilter(new ResponseHardening());
filterRegBean.setEnabled(true);
filterRegBean.setOrder(Integer.MIN_VALUE);
return filterRegBean;
}
การตั้งค่าคำสั่งซื้อเป็น Integer.MIN_VALUE จะทำให้แน่ใจว่าตัวกรองจะทำงานก่อนในห่วงโซ่ตัวกรอง