Home > Backend Development > PHP Tutorial > firefox php verification code image multiple requests problem to be solved

firefox php verification code image multiple requests problem to be solved

WBOY
Release: 2016-07-29 09:11:03
Original
1224 people have browsed it

??Abstract: In the process of using the GD library to make the verification code, using firefox to debug, I found that the verification code image displayed by the browser is different from the verification code image responded by firebug. The string of the verification code image responded by firebug is different from the one in the session. The stored strings are the same. After searching online, I found an idea. It is possible that the request displayed by the Firefox browser is not the same request as the Firebug request, so I did the following verification and recorded this problem.

??In order to better verify this problem, the original code has been streamlined and modified, which is more suitable for verifying this problem. Okay, let’s start with the code.

<code><span><span><?php</span>
header(<span>"content-type:image/png"</span>);
session_start();
<span>if</span> (<span>isset</span>(<span>$_SESSION</span>[<span>'index'</span>])) {
    <span>$_SESSION</span>[<span>'index'</span>] += <span>1</span>;
}<span>else</span>{
    <span>$_SESSION</span>[<span>'index'</span>] = <span>1</span>;
}

<span>$width</span> = <span>80</span>;
<span>$height</span> = <span>20</span>;
<span>$vCodeString</span> = <span>""</span>;

<span>$vCodeString</span> = <span>"{$_SESSION['index']}"</span>;
<span>$_SESSION</span>[<span>'vcode'</span>] = <span>$vCodeString</span>;

<span>$image</span> = imagecreate(<span>$width</span>,<span>$height</span>);
<span>$background</span> = imagecolorallocate(<span>$image</span>,<span>255</span>,<span>255</span>,<span>255</span>);
<span>$fontcolor</span> = imagecolorallocate(<span>$image</span>, <span>0</span>, <span>0</span>, <span>0</span>);
imagestring(<span>$image</span>, <span>5</span>, <span>0</span>, <span>0</span>, <span>$vCodeString</span>, <span>$fontcolor</span>);
imagepng(<span>$image</span>);
imagedestroy(<span>$image</span>);

<span>?></span></span></code>
Copy after login

??The code is very simple, so I won’t explain it here.
The following are the results after the first visit and refresh on firefox (without firebug enabled):

First visit: firefox php 验证码图片 多次请求问题 待解决
Right-click on the verification code image and save it as, save it locally: firefox php 验证码图片 多次请求问题 待解决
Then there are also 2 stored in SESSION

After refreshing: firefox php 验证码图片 多次请求问题 待解决

??The following is the result after the first access and refresh on firefox (firebug is turned on) (no pictures, too troublesome):
First visit: 1
Right click on the image and save as: 3
The response in firebug is: 3
SESSION contains: 3

Summary: When the firebug plug-in is not enabled, the firefox page is requested once (the first of two times), and the PHP file on the server side is actually requested twice. When the firebug plug-in is turned on, the firefox page is requested for the first time, I don't know where it is requested for the second time, and firebug is requested for the third time.

I visited it once under the chrome browser. The characters on the picture displayed on the page are the characters stored in the SESSION, and the operation is normal

Final summary: I checked online that this problem may occur It's a bug in Firefox. I think it's not such a simple problem. I'll record it here. I hope I can find out the reason for this in the future! ! !

End

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

The above introduces the firefox PHP verification code image multiple request problem to be solved, including the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template