phphttp验证
① 在php中如何模拟HTTP_USER_AGENT,一个网站需要验证这个,请问下怎么模拟
<?php
//client
$ch=curl_init();
curl_setopt_array($ch,
array(
CURLOPT_URL=>'http://localhost/ua.php',
CURLOPT_USERAGENT=>"YeRenChai_v1.0",
CURLOPT_RETURNTRANSFER=>True,
CURLOPT_FOLLOWLOCATION=>True,
)
);
$response=curl_exec($ch);
if(!$response)exit(curl_error($ch));
var_mp($response);
?>
② PHP HTTP 认证实例详解
HP来实现HTTP的强制认证是十分简单的,只需简单的几行代码就可以实现,下面我们来看一个例子,然后结合这里例子我向大家详细介绍一下PHP实现HTTP认证。
<?php
if(!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate:
Basic
realm="系统名称"');
header('HTTP/1.0
401
Unauthorized');
echo
'未通过HTTP认证.';
exit;
}
else
{
echo
'认证通过.';
echo
'用户名:
'.$_SERVER['PHP_AUTH_USER']."\n";
echo
'密码:
'.$_SERVER['PHP_AUTH_PW']."\n";
}
?>
1.实现说明
怎么样,看到上面的代码了吧,就这么几行添加到你的程序页面上就可以实现了.
它是通过利用header()函数向客户端浏览器发送”Authentication
Required”信息,强制其弹出一个用户名/密码输入窗口,当用户输入用户名和密码后,包含有URL的PHP脚本将会加上预定义变量PHP_AUTH_USER,
PHP_AUTH_PW和AUTH_TYPE然后再次调用,这三个变量分别表示用户名,密码和认证类型(从PHP5.0.1起开始支持”Basic”和”Digest”两种认证方式),它们被保存在$_SERVER(从HP>>4.1.0起有效)或$HTTP_SERVER_VARS(从PHP3起有效)数组中具体应用时,我们可以把验证的几行代码写成函数,只要判断到用户变量不存在或验证不正确就一直执行该函数并弹出窗口,而且还可以设置错误登录几次就不允许该用户访问,具体的使用大家使劲的发散思考吧.
2.注意事项:
1.这段代码必须放到程序的开始,且在其开始执行之前不能有任何输出(若有输出则需要使用输出缓冲函数才行).
2.PHP的HTTP认证机制仅在PHP以Apache模块方式运行时才有效,这个容易理解,它本身是HTTP强制认证,肯定是不适合于CGI版本,不能在命令行下执行的.
3.header发送标头代码时请小心.为了对所有的客户端保证兼容性,关键字”Basic”的第一个字母必须大写为”B”,分界字符串必须用双引号引用(不能是单引号);在HTTP/1.0和401之间必须有且仅有一个空格.
4.在上面列子中,仅输出了用户名和密码,而在实际系统中则可按照登录验证流程进行与数据库或其他方式进行判断和验证.
5.从PHP4.3.0起,为防止有人通过编写脚本来从页面上获取密码,当外部认证对特定页面有效,并且安全模式被开启时,PHP_AUTH变量将不会被设置.可以用REMOTE_USER来辨别外部认证的用户,用AuthType指令来判断外部认证机制是否有效.
6.要想让HTTP认证能够在IIS下工作,PHP配置选项cgi.rfc2616_headers必须设置为0(默认值).
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
③ php http验证
你看看用这个得行不得行,我朋友写的,我用了一下,还行!!
session_start();
Header("Content-type: image/PNG");
$im = imagecreate(50,30);
$back = ImageColorAllocate($im, 0,0,0);
imagefill($im,0,0,$back);
srand((double)microtime()*1000000);
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 4+$i*10, 8,$authnum, $font);
}
for($i=0;$i<100;$i++)
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION['vcode'] = $vcodes;
④ 如何使用php验证代理服务器
如何验证代理服务器
代理服务器可以说不是很稳定,有的昨天用得还好好的,今天就不能用了,或者是要密码了,为了弄清楚该代理是否还是Free的,就要利用“代理猎手”的验证功能。代理猎手的右下方有8个按钮,第一个是“检验”、第二个是“检验全部”,我们可以按〔检验全部〕来验证列表中的所有代理是否可以使用,也可以在列表中选中一个或多个代理地址后,点击〔检验〕,只验证这几个代理是否可以使用。验证完毕后,点击列表的标题“验证状态”,可以把可用的代理服务器集中排列在列表的前面,方便查找。
⑤ php http验证问题求高手
按照HTTP定义,不能保证logout,
HTTP specification
Existing HTTP clients and user agents typically retain authentication information indefinitely. HTTP/1.1. does not provide a method for a server to direct clients to discard these cached credentials.
你可以做一些针对某些browser的logout,但不一定所有的brower都可以。
建议使用别的方式(如cookie)来完成类似的功能
⑥ php header头如何添加Authorization登录验证
session有作用域,建议把session存到全局空间中去,每次登陆时候取全局里面的数据验证
⑦ thinkphp5 跨域验证码
假设
前端域名为: http://a.com
服务端域名为: http://b.com
前端页面地址为: http://a.com/index.html
获取验证码地址: http://b.com/home/verify
验证验证码地址: http://b.com/home/check_verify
事例:前台地址 http://a.com 要向服务端地址 http://b.com 验证和请求验证码
原理:因为在加载验证码图片的时候请求中携带了cooike,cooike中存了服务端验证码的PHPSESSID。而在验证过程中因为是跨域请求,ajax是不会携带cooike进行提交的。因此需要在ajax设置withCredentials为true时表示当前请求为跨域类型在请求中协带cookie,并且服务端也必须要设置Access-Control-Allow-Credentials:为true才可以起到实际的效果。
顺便贴一下进行请求和验证的两个方法:
⑧ php中http验证[header('HTTP/1.0 401 Unauthorized');]
$sql = "SELECT * FROM tbl_user WHERE
AccountID = '$_SERVER[PHP_AUTH_USER]' AND
AccountPassword = '$_SERVER[PHP_AUTH_PW]'";
这个执行语句改成这样
⑨ 判断php是否有http
PHP文件得用专业的编辑器打开,比如DW、editplus等,想要修改里面的代码也是在编辑器里面修改,除了打开文件需要的编辑器外,还需要在本地安装wamp,要搭配环境才可以在本地测试PHP文件,否则无法打开及测试!
我建议楼主去找后盾人,他那里有专家教学 而且还有解释得非常详细的视频,我在他那就学到了很多东西
⑩ 合通启短信php手机验证接口是http协议吗
是的,合通启短信平台采用的是标准http协议,所以对接起来没有冲突,都是标准的报文格式,对接一下试试就知道了,用不了几分钟。
