Welcome! Log In Create A New Profile

Advanced

Re: nginx getimagesize from local server: 403

Vincent M.
August 04, 2021 07:52AM
I found the reason!

I have check and my files and folders are already with rights: 0755 for
folders and 0644 for files.

I checked also the owner of the website and unfortunately I did some
test and did not resolved the issue.

I have put a file aaa.jpg on my website root folder:

Locally this code is working fine:

list($imageWidth, $imageHeight) =
getimagesize('http://local-mywebsite.com/aaa.jpg');
echo $imageWidth;

So I change the code to:

list($imageWidth, $imageHeight) =
getimagesize('https://mywebsite.com/aaa.jpg');
echo $imageWidth;

and I get the error:
2021/08/04 11:33:00 [error] 2196869#2196869: *388196 FastCGI sent in
stderr: "PHP message: PHP Warning:
getimagesize(https://mywebsite.com/aaa.jpg): failed to open stream: HTTP
request failed! HTTP/1.1 403 Forbidden

I change the right to 0777 to file and still have the 403.

I changed the owner of the file aaa.jpg to www-data and changed the
owner of the website root folder to www-data as well but still have the 403.

On /etc/nginx/nginx.conf file I have:
user www-data;

I didn't know where to look at!

And unexpectedly I remembered that yesterday I added some rules to nginx
to block bad bots. Which I didn't do locally.

I added this configuration rules:
https://github.com/mitchellkrogza/nginx-badbot-blocker
https://github.com/mitchellkrogza/nginx-badbot-blocker

And took a look at it and notified this rules:

## Add here all hosts that should be spared any referrer checking.
## Whitelist all your own IPs in this section, each IP followed by a 0;
geo $bad_referer {
    127.0.0.1 0;
    111.111.111.111 0;
}

I added the comment for 127.0.0.1 and it's now working fine.

What is the line 111.1111.111.111 0 for ?

Do you have any advise on this rules added from
https://github.com/mitchellkrogza/nginx-badbot-blocker ?

Thanks :)



Le 03/08/2021 à 21:14, Vincent M. a écrit :
>
> Hello all,
>
> I have a 403 error when trying to use the PHP function getimagesize on
> nginx based web server:
>
> list($imageWidth, $imageHeight) = getimagesize($imagesSource['Main']);
>
> Where $imageSource['Main'] is like:
>
> https://mywebsite/include/php/render/canvas/VR/2/image/U35p/ver//bgColor/ffffff/widthMM/300/heightMM/388/aube-sunny.jpg
>
> It's an image generated by PHP-imagick module and is not locally
> available. This image can be opened by a browser with no problem.
>
> To generate this image which go through 404. Nginx is configured like
> that:
>
> error_page 404 = /url_rewriting.php;
> And in the file url_rewriting.php, we analyse the URL to see if it's
> real 404 or an image which must be generated:
>
> if((isset($urlHash[2]) && $urlHash[2] === 'render')) {
> ...
>     header('Status: 200 OK', false, 200);
>     chdir('include/php/render/'.$_GET['render']);
>     require ('include/php/render/'.$_GET['render'].'/render_img.php');
>     exit;
> }
> All is working fine but not the getimagesize from my own server.
>
> What is strange is that it's working fine on my development
> environment which has the same versions of nginx and PHP and pretty
> the same configuration.
>
> It might a configuration issue or a right issue on a certain file but
> I don't know where to check.
>
> Thank you,
> Vincent.
>
>
> _______________________________________________
> nginx mailing list
> nginx@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx


_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

nginx getimagesize from local server: 403

Vincent M. August 03, 2021 03:16PM

Re: nginx getimagesize from local server: 403

Vincent M. August 04, 2021 07:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 116
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready