Comments (2)
This is expected behavior. Klein's an intelligent router that allows you to have "named" parameters in the URL. If you're proposed behavior were the default, someone would be able to overwrite the URL-matched parameter, which would be "sketchy" and unexpected.
The design is that the named params take precedence. If you're finding that you have a collision, simply rename your url-matched param, or rename your expected GET/POST param. :)
from klein.php.
$_REQUEST
already works in this way in regards to whether variables are taken from $_GET
, $_POST
or $_COOKIE
- see the variables_order config directive.
If parameters from the query string or request body were allowed to override named parameters then type restrictions could be bypassed, e.g. a /users/[i:id]
route vs. /users/0?id=0%3B%20DROP%20TABLE%20users
😲
Klein could be modified so that it doesn't mutate the underlying $_REQUEST
array but I think as an extra security precaution it's ok for now.
from klein.php.
Related Issues (20)
- Broken link in README
- JSON pretty print HOT 1
- PHP warning array_flip()
- Multiple instances? HOT 1
- How could we use DI with this package HOT 1
- subroute not working HOT 5
- Klein dispatch() LockedResponseException HOT 2
- $this->PageTitle is not working HOT 2
- is it possible to create methods with parameters in $app->register HOT 1
- Question, handling a client area HOT 2
- Headers not sent if buffer length exceedes value defined in ini.output_buffering
- More concise, Laravel-style Controller@method callbacks HOT 3
- Error with SVG images HOT 2
- Support apcu without apcu_bc?
- Central callback/hook before route response is called HOT 1
- is this package still maintained? HOT 4
- Access "pathname()" method in view using $this->pathname()
- Question: how use parameter in route?
- Add more better regex's
- Second Subdirectory Routing Not Working
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from klein.php.