您身边的网站建设专家
成功案例

【建站服务】辽源企业网站设计 - 辽源高端网站定制 - 辽源品牌网站搭建 - 上往建站-域名申请

日期: 2022-09-21 04:33:38 浏览数:44


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


辽源企业网站设计 - 辽源高端网站定制 - 辽源品牌网站搭建 - 上往建站

网站建设.png

http.open("GET","poll_vote.php?vote="+int,true);
  xmlhttp.send();}</script></head><body><div id="poll"><h3>你喜欢 PHP 和 AJAX 吗?</h3><form>是:<input type="radio" name="vote" value="0" onclick="getVote(this.value)"><br>否:<input type="radio" name="vote" value="1" onclick="getVote(this.value)"></form></div></body></html>

getVote() 函数会执行以下步骤:


PHP 文件

上面这段通过 JavaScript 调用的服务器页面是名为 "poll_vote.php" 的 PHP 文件:

<?php
$vote = htmlspecialchars($_REQUEST['vote']);// 获取文件中存储的数据$filename = "poll_result.txt";$content = file($filename);// 将数据分割到数组中$array = explode("||", $content[0]);$yes = $array[0];$no = $array[1];if ($vote == 0){
  $yes = $yes + 1;}if ($vote == 1){
  $no = $no + 1;}// 插入投票数据$insertvote = $yes."||".$no;$fp = fopen($filename,"w");fputs($fp,$insertvote);fclose($fp);?><h2>结果:</h2><table>



?>


<h2>结果:</h2>

<table>

  <tr>

  <td>是:</td>

  <td>

  <span style="display: inline-block; background-color:green;

      width:<?php echo(100*round($yes/($no+$yes),2)); ?>px;

      height:20px;" ></span>

  <?php echo(100*round($yes/($no+$yes),2)); ?>%

  </td>

  </tr>

  <tr>

  <td>否:</td>

  <td>

  <span style="display: inline-block; background-color:red;

      width:<?php echo(100*round($no/($no+$yes),2)); ?>px;

      height:20px;"></span>

  <?php echo(100*round($no/($no+$yes),2)); ?>%

  </td>

  </tr>

</table>

当所选的值从 JavaScript 发送到 PHP 文件时,将发生:


获取 "poll_result.txt" 文件的内容

把文件内容放入变量,并向被选变量累加 1

把结果写入 "poll_result.txt" 文件

输出图形化的投票结果

文本文件

文本文件(poll_result.txt)中存储来自投票程序的数据。


它存储的数据如下所示:


3||4

第一个数字表示 "Yes" 的投票数,第二个数字表示 "No" 的投票数。


注释:请记得只允许您的 Web 服务器来编辑该文本文件。不要让其他人获得访问权,除了 Web 服务器 (PHP)。


 PHP 实例 AJAX RSS 阅读器PHP 5 Array 函数 

2 篇笔记 写笔记

   学神之女


  dff***j@qq.com


81

这很不安全!攻击者能用简短的代码攻破!


//无限循环脚本

var Vote = 0;//你的票。

setInterval(function(){

    getVote(Vote);

},2000);

怎样更安全?可以用 Cookies 记录下投票,这样攻击者还需清理 Cookies。


if(empty($_COOKIE["voted"])) {

    setcookie("voted","yes!",ime()+60*60*24*365);

} else {

    die("您已经投过票!");

}

学神之女

   学神之女


  dff***j@qq.com


4年前 (2018-05-08)

   现在网


  che***nzho@aliyun.com


92

实名反对 @学神之女 :“怎样更安全?可以用 Cookies 记录下投票,这样攻击者还需清理 Cookies。”


这样其实也并不可取,我只要永远不携带 Cookie,我永远都能够提交进行刷票,就像这样:


<?php

//根据浏览器抓包得知,投票地址是如下:

$api_url = "https://www.runoob.com/try/demo_source/poll_vote.php?vote=0";


for($i=0; $i<1000; $i++){

  //循环 1000 次用 file_get_contents 函数访问 投票地址 进行刷票

  file_get_contents($api_url);

}

如果要抵制还是需要限制 IP + 需要携带Cookie


或者使用需要用户登录才能投票,可以是接入微信登录,让用户微信登陆后才能进行投票


辽源企业网站设计 - 辽源高端网站定制 - 辽源品牌网站搭建 - 上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站