您可以使用 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 安全性吗?语法是什么样的?我尝试过但没有成功。
我正在尝试签署 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) 我是 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) 我有一个 AJAX 自动完成表单。在遇到许多问题后,它可以工作。\n 但是我需要解决三个问题的帮助。
\n\n如果用户键入并显示结果,如果用户退格,\n结果将保留在schoollist. 如果 \nsearchbox 为空,如何清除schoollist。
有些单词包含 \xc3\xab 等字母。当从数据库检索时,\n它显示 \xe2\x96\xa0 而不是 \xc3\xab。
如果没有结果,则会显示“未找到学校”。如果您单击未找到学校,它会接受答案。我阻止点击“未找到学校?
超文本标记语言
\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>\nRun 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) 我正在尝试调用 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)