Sqli
Goal
Prevent sql injection
Enabled
Enable or disable this wire
Methods
The methods specifies which methods should be inspected
Options:
- 'post'
- 'put'
- 'patch'
- 'get'
- 'all' or '*'
The 'all' or '*' is a alias to inspect all methods
->methods(['post', 'put']) // only post and put method
->methods(['*']) // all methods
Attack score
This is this wire severity, the higher the number the more severe. All attackScores will be summarized and if it exceeds the PunishScore the block will be activated. Set this to a number that reflects the severity.
- A very high number will immediately block the user/ip
- A low number will only block if there are many requests
TIP
sqli and xss are very common attack vectors with high confidence detection. You should set those to a very high number
Tripwires
Specify the list of regex that should be forbidden There are a few helper functions for you to build the regex, how to build these regex
TIP
The regex'es can become pretty complex here to catch many of the payloads. Use the regex helpers to keep your config clean and readable
Example
WireDetailsConfig::make()
->enabled(true)
->methods(['*'])
->attackScore(500) // with the global punishScore of 1000, this will block the user/ip on the second attempt
->tripwires([
->tripwires(
regex::injectFillers([
"#[\d\W](union select|select *)[\d\W]#iUu", // just an example, the config contains many more
])
])
//... optional overrides