district5 / php-postman-detect
Postman detector is a PHP library that detects if a request has been made by Postman.
0.0.1
2023-07-05 20:01 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-11-06 11:31:57 UTC
README
Prevent or restrict access to certain API endpoints when using Postman for mock requests.
Usage...
"repositories":[
{
"type": "vcs",
"url": "git@github.com:district-5/php-postman-detect.git"
}
],
"require": {
"district5/php-postman-detect": ">=0.0.1"
}
Code usage...
<?php $_SERVER['HTTP_USER_AGENT'] = 'PostmanRuntime/7.26.8'; \District5\PostmanDetect\PostmanDetector::isPostman(); // true $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko)'; \District5\PostmanDetect\PostmanDetector::isPostman(); // false $_SERVER['HTTP_USER_AGENT'] = 'PostmanRuntime/7.26.8'; // Disallow this endpoint with Postman always \District5\PostmanDetect\PostmanDetector::disallowAlways(); // throws exception // Current environment is 'local' // disallow on production \District5\PostmanDetect\PostmanDetector::disallowOnEnvs('local', ['prod']); // no exception // disallow on production and staging \District5\PostmanDetect\PostmanDetector::disallowOnEnvs('local', ['prod', 'staging']); // no exception // Current environment is 'prod' // disallow on production \District5\PostmanDetect\PostmanDetector::disallowOnEnvs('prod', ['prod']); // throws exception // disallow on production and staging \District5\PostmanDetect\PostmanDetector::disallowOnEnvs('prod', ['prod', 'staging']); // throws exception
Testing...
composer install
./vendor/bin/phpunit