小编Cha*_*ieT的帖子

您可以使用 htaccess 过滤/检查 POST 方法/请求吗?

您可以使用 htaccess 过滤/检查 POST 方法/请求吗?例如,如果您想使用$_GEThtaccess 过滤变量以在模式匹配时进行重定向,则它将如下所示:

RewriteCond %{QUERY_STRING} <script> [NC]
RewriteRule .*$ /mylogPage.php? [L,R=301]
Run Code Online (Sandbox Code Playgroud)

你能对 $_POST 变量做类似的过滤吗?

我尝试了很多变体,包括尝试mod_security通过 htaccess 进行修改。我假设在 htaccess 中它与以下内容有关:

RewriteCond %{REQUEST_METHOD} POST.
Run Code Online (Sandbox Code Playgroud)

我努力了

RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} <script> [NC]
RewriteRule .*$ /mylogPage.php? [L,R=301]
Run Code Online (Sandbox Code Playgroud)

但它只是重定向页面

如果这应该通过 mod_security 完成,那么可以通过 htaccess 编辑 mod 安全性吗?语法是什么样的?我尝试过但没有成功。

.htaccess query-string

5
推荐指数
1
解决办法
307
查看次数

如何使用 PHP 签署 AWS API 请求?

我正在尝试签署 AWS API 请求,然后使用 cURL。

目的是将跟踪号码提交给服务提供商的 API,并使用响应。

我对 AWS API 完全是个菜鸟,经过多次测试后找不到我的错误。

我尝试了很多方法,但都导致了{"message":"Forbidden"}

这是我当前的脚本:

<?php

    $accessKeyId = "AKIA55D**********";   
    $secretAccessKey = "NQ0xcl**********";  
    $method ='GET';
    $uri = '/tracking/shipments';
    $secretKey = $secretAccessKey;
    $access_key = $accessKeyId;
    $region = 'af-south-1';
    $service = 'execute-api';
    $host = "https://api.shiplogic.com";
    $alg = 'sha256';
    $date = new DateTime('Africa/Johannesburg');
    $dd = $date->format( 'Ymd\THis\Z' );
    $amzdate2 = new DateTime( 'Africa/Johannesburg' );
    $amzdate2 = $amzdate2->format( 'Ymd' );
    $amzdate = $dd;
    $algorithm = 'AWS4-HMAC-SHA256';
    $canonical_uri = $uri;
    $canonical_querystring = '';
    $canonical_headers = "host:".$host."\n"."x-amz-date:".$amzdate."\n"; …
Run Code Online (Sandbox Code Playgroud)

php curl signing amazon-web-services

4
推荐指数
1
解决办法
1905
查看次数

AJAX 检查更新和 php 刷新页面

我是 AJAX 新手。要温柔。我想用ajax检查数据库在过去十分钟内是否有更新。

1)我有两套代码。请告诉我哪一个是更好的选择以及原因(如果您有比我更好的代码,我愿意接受建议)。

2)其次,检查更新是否在过去十分钟内的php脚本需要更新需要刷新的第一页,如果更新是在过去十分钟内,我该怎么做?

阿贾克斯选项 1:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(function ()
{
$('#slideshow').load('check_time.php');
}, 600000); // refresh every 600000 milliseconds

</script>
Run Code Online (Sandbox Code Playgroud)

阿贾克斯选项 2

<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "check_time.php", false);
xhttp.send();
document.getElementById("slideshow").innerHTML = xhttp.responseText;
}
Run Code Online (Sandbox Code Playgroud)

用于检查更新的 PHP 脚本

<?PHP

date_default_timezone_set('Africa/Johannesburg');
$currenttime = date('Y-m-d H:i:s');
$timelessten = date_modify($currenttime,"-10 Minutes");
require_once('connect_pdo.php');
$sqlst = $conn->prepare("SELECT `lastupdate` FROM `Ads`");
$sqlst->execute();
while($resultst = $sqlst -> fetch()){
$updatetime = $resultst["lastupdate"];
}
if($updatetime <= $timelessten){
//Refresh …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery

1
推荐指数
1
解决办法
1349
查看次数

AJAX 自动完成

我有一个 AJAX 自动完成表单。在遇到许多问题后,它可以工作。\n 但是我需要解决三个问题的帮助。

\n\n
    \n
  1. 如果用户键入并显示结果,如果用户退格,\n结果将保留在schoollist. 如果 \nsearchbox 为空,如何清除schoollist

  2. \n
  3. 有些单词包含 \xc3\xab 等字母。当从数据库检索时,\n它显示 \xe2\x96\xa0 而不是 \xc3\xab。

  4. \n
  5. 如果没有结果,则会显示“未找到学校”。如果您单击未找到学校,它会接受答案。我阻止点击“未找到学校?

  6. \n
\n\n

超文本标记语言

\n\n
<div class="ui-widget">\n<label>What school does the child attend<input  type="text" name="school" id="school" class="form-control" placeholder="Enter school Name"/></label>\n<div id="schoollist"></div>  \n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

阿贾克斯

\n\n
   $(document).ready(function(){  \n   $(\'#school\').keyup(function(){  \n       var query = $(this).val();  \n       if(query != \'\')  \n       {  \n            $.ajax({  \n                 url:"search.php",  \n                 method:"POST",  \n                 data:{query:query},  \n                 success:function(data)  \n                 {  \n                      $(\'#schoollist\').fadeIn();  \n                      $(\'#schoollist\').html(data);  \n                 }  \n            }); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

1
推荐指数
1
解决办法
151
查看次数

为什么我从 api 收到 400 Bad Request 错误

我正在尝试调用 Shiplogic API(基于 AWS),但出现400 Bad Request错误。

我尝试了各种方法来请求 AWS API(例如 S3)的响应,我尝试为 cURL 请求创建自己的签名,现在我正在尝试此代码。

$host = "api.shiplogic.com";
$accessKey = 'AKIA55D****';
$secretKey = 'cx0WDJLNj1Bmn2**';
$requestUrl = 'https://api.shiplogic.com';
$uri = '/tracking/shipments';
$httpRequestMethod = 'GET';
$data = '{"tracking_reference": "M3RPH"}';

require 'AWS/aws-autoloader.php';;
use Aws\Signature\SignatureV4;
use Aws\Credentials\Credentials;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use Psr\Http\Client\ClientInterface;

$signature = new SignatureV4('execute-api', 'af-south-1');
$credentials = new Credentials($accessKey, $secretKey);
$psr7Request = new Request($httpRequestMethod, $requestUrl.$uri, ["content-type"=>"application/json"], $data);
$client = new Client([$requestUrl, 'timeout' => 30]);
$sr = $signature->signRequest($psr7Request, $credentials);
$response = $client->send($sr);
var_dump($response); …
Run Code Online (Sandbox Code Playgroud)

php api request signature amazon-web-services

1
推荐指数
1
解决办法
3076
查看次数