Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Verify explicitly that the request IP is a valid IPv4 address#19666

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
nesk wants to merge2 commits intosymfony:2.7fromnesk:check-explicitly-request-ip

Conversation

@nesk
Copy link
Contributor

QA
Branch?2.7
Bug fix?yes
New feature?no
BC breaks?no
Deprecations?no
Tests pass?yes
Fixed tickets-
LicenseMIT
Doc PR-

Take the following base code (the array is based onCloudFlare IP Ranges):

useSymfony\Component\HttpFoundation\IpUtils;$ips = ["103.21.244.0/22","103.22.200.0/22","103.31.4.0/22","104.16.0.0/12","108.162.192.0/18","131.0.72.0/22","141.101.64.0/18","162.158.0.0/15","172.64.0.0/13","173.245.48.0/20","188.114.96.0/20","190.93.240.0/20","197.234.240.0/22","198.41.128.0/17","199.27.128.0/21","2400:cb00::/32","2405:8100::/32","2405:b500::/32","2606:4700::/32","2803:f800::/32","2c0f:f248::/32","2a06:98c0::/29",];

Before this PR, the following code would have returnedtrue instead of the expectedfalse value:

IpUtils::checkIp('blablabla',$ips);

This due to theip2long function returningfalse for an invalid IP address, thus returning"00000000000000000000000000000000" with the following code:

sprintf('%032b',ip2long('blablabla'));

To fix this I simply check if the$requestIp variable contains a valid IP address.

chalasr reacted with thumbs up emoji
@nicolas-grekas
Copy link
Member

could you add a test case please?

@nesk
Copy link
ContributorAuthor

nesk commentedAug 19, 2016
edited
Loading

Done, added a new assertion checking if this line returnsfalse:

IpUtils::checkIp('an_invalid_ip','192.168.1.0/24');

@fabpot
Copy link
Member

Thank you@nesk.

fabpot added a commit that referenced this pull requestAug 19, 2016
…ess (nesk)This PR was squashed before being merged into the 2.7 branch (closes#19666).Discussion----------Verify explicitly that the request IP is a valid IPv4 address| Q             | A| ------------- | ---| Branch?       | 2.7| Bug fix?      | yes| New feature?  | no| BC breaks?    | no| Deprecations? | no| Tests pass?   | yes| Fixed tickets | -| License       | MIT| Doc PR        | -Take the following base code (the array is based on [CloudFlare IP Ranges](https://www.cloudflare.com/ips/)):```phpuse Symfony\Component\HttpFoundation\IpUtils;$ips = [   "103.21.244.0/22",   "103.22.200.0/22",   "103.31.4.0/22",   "104.16.0.0/12",   "108.162.192.0/18",   "131.0.72.0/22",   "141.101.64.0/18",   "162.158.0.0/15",   "172.64.0.0/13",   "173.245.48.0/20",   "188.114.96.0/20",   "190.93.240.0/20",   "197.234.240.0/22",   "198.41.128.0/17",   "199.27.128.0/21",   "2400:cb00::/32",   "2405:8100::/32",   "2405:b500::/32",   "2606:4700::/32",   "2803:f800::/32",   "2c0f:f248::/32",   "2a06:98c0::/29",];```Before this PR, the following code would have returned `true` instead of the expected `false` value:```phpIpUtils::checkIp('blablabla', $ips);```This due to the `ip2long` function returning `false` for an invalid IP address, thus returning `"00000000000000000000000000000000"` with the following code:```phpsprintf('%032b', ip2long('blablabla'));```To fix this I simply check if the `$requestIp` variable contains a valid IP address.Commits-------17e418c Verify explicitly that the request IP is a valid IPv4 address
@fabpotfabpot closed thisAug 19, 2016
This was referencedSep 2, 2016
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

4 participants

@nesk@nicolas-grekas@fabpot@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp