我有这个简单的HTML下拉菜单:
<select>
<option style="font-size:50px;">Test</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我找不到增加选项字体大小的方法.由于某种原因,忽略了font-size属性.这是一个错误还是什么?
谢谢
除了PHP中的第一个和最后一个字符外,如何将字符串的所有字符替换为星号?
例如,test应该成为t**t和profanity成为p******y等等
我将带有以下内容的样式表传递给W3C验证器并通过:
a {
display: block;
}
Run Code Online (Sandbox Code Playgroud)
所以想要确定,使用内联元素作为块1是否是有效的标记?我知道它会起作用,但它有效吗?
谢谢
我有以下HTML代码:
<div id="test">
<span>
test
<span>test</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
以下CSS代码:
#test > span {
color: red;
}
Run Code Online (Sandbox Code Playgroud)
是不是上面的代码应该只选择测试div的直接子跨度?因此,只有第一个"测试"单词应为红色,但不应选择子跨度内的第二个"测试"单词.或者我弄错了?
我有一个$_POST['excludeids']使用以下值调用的post变量:
1,2,3,4,5,6,7,8,9
Run Code Online (Sandbox Code Playgroud)
我想将此传递给SQL查询,NOT IN因此我使用以下查询:
$STH = $DBH->prepare("SELECT * FROM books WHERE id NOT IN (:excludeids)");
$STH->bindValue(':excludeids', $_POST['excludeids']);
$STH->execute();
Run Code Online (Sandbox Code Playgroud)
绑定变量在这种情况下不起作用我不知道为什么.上面的查询有什么问题?
我在访客的PC上设置了一个cookie,每24小时显示一次通知.最近我开始在错误日志中收到以下错误:
PHP: undefined index notice in **
Run Code Online (Sandbox Code Playgroud)
我使用以下代码检查cookie是否存在值,如果没有显示通知:
if($_COOKIE['notice'] != 'yes')
echo 'notice';
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下内容来避免PHP通知:
if((isset($_COOKIE['notice']) || !isset($_COOKIE['notice'])) && $_COOKIE['notice'] != 'yes')
Run Code Online (Sandbox Code Playgroud)
有没有办法像我一样或以类似的方式一步完成检查?
谢谢
我有这个简单的mysql查询:
INSERT INTO table (col1, col2) VALUES ('1', '2')
Run Code Online (Sandbox Code Playgroud)
col1和col2外键的另一个表,以便对任何价值col1和col2必须存在于其他表或其他行不会被插入.
在这种情况下,是否还存在SQL注入的风险?如果我从PHP POST收到这些col值,在插入数据库之前是否还需要绑定它们,或者它们已经安全,因为cols是外键?
我有以下JS代码:
<script>
first();
second();
</script>
Run Code Online (Sandbox Code Playgroud)
我想确保second()在完成执行后运行first().这是预期的默认行为吗?
我在cpanel中有一个cron作业连接到谷歌驱动器,定期备份网站文件和数据库到谷歌驱动器帐户.我简化了文件来发现问题:
<?php
set_time_limit(0);
require_once 'google-api-php-client/Google_Client.php';
require_once 'google-api-php-client/contrib/Google_DriveService.php';
$client = new Google_Client();
$client>setClientId('xxxx');
$client->setClientSecret('xxxx');
$service = new Google_DriveService($client);
$accessToken = '{ "access_token" : "xxx", "token_type" : "Bearer", "expires_in" : 3600,
"refresh_token" : "1/xxx" }';
$client->setAccessToken($accessToken);
$files = $service->files->listFiles();
print($files);
?>
Run Code Online (Sandbox Code Playgroud)
我进行了身份验证并获得了刷新令牌和访问令牌,并将它们放入变量中$accessToken.该脚本在从浏览器运行时有效,但当我将其设置为cron作业时,我收到以下错误:
[13-Jul-2013 13:41:02 Europe/Moscow] PHP Fatal error: Uncaught exception
'Google_IOException' with message 'HTTP Error: (0) error setting certificate verify
locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
' in /home/xxxxxx/backup/google-api-php-client/io/Google_CurlIO.php:128
Stack trace:
#0 /home/xxxxxx/backup/google-api-php-client/auth/Google_OAuth2.php(270):
Google_CurlIO->makeRequest(Object(Google_HttpRequest))
#1 /home/xxxxxx/backup/google-api-php-client/auth/Google_OAuth2.php(248):
Google_OAuth2->refreshTokenRequest(Array)
#2 /home/xxxxxx/backup/google-api-php-client/Google_Client.php(315):
Google_OAuth2->refreshToken('1/xxxxxx...')
#3 …Run Code Online (Sandbox Code Playgroud) 我目前正在Facebook上开发即时游戏,需要验证玩家信息是否来自Facebook。Facebook通过哈希签名提供验证,如下所示:
https://developers.facebook.com/docs/games/instant-games/sdk/fbinstant6.2#signedplayerinfo
我遵循了概述的步骤,但是无法获得匹配的签名:
这是签名:
$_POST['psig'] = 'je3yV8uKmysDrjXv1xp_RY2rTMJLEREM7xj8SGt5HEk.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTU1MjI1NTc2OCwicGxheWVyX2lkIjoiMjA1OTE4OTA2MDgyMzk4MyIsInJlcXVlc3RfcGF5bG9hZCI6InBkYXRhIn0';
Run Code Online (Sandbox Code Playgroud)
1)将签名分成两部分,以“。”分隔。字符。
$first_part = explode('.', $_POST['psig'])[0];
echo $first_part;
// Output:
je3yV8uKmysDrjXv1xp_RY2rTMJLEREM7xj8SGt5HEk
$second_part = explode('.', $_POST['psig'])[1];
echo $second_part;
// Output
eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImlzc3VlZF9hdCI6MTU1MjI1NTc2OCwicGxheWVyX2lkIjoiMjA1OTE4OTA2MDgyMzk4MyIsInJlcXVlc3RfcGF5bG9hZCI6InBkYXRhIn0
Run Code Online (Sandbox Code Playgroud)
2)使用base64url编码对第一部分(编码签名)进行解码。
echo base64_decode($first_part);
// Output:
???W??+?5??Qcj?0??DC;???G
Run Code Online (Sandbox Code Playgroud)
3)使用base64url编码对第二部分(响应有效负载)进行解码,该部分应该是具有以下字段的JSON对象的字符串表示形式:**算法-始终等于HMAC-SHA256 ** issue_at-何时的unix时间戳此响应已发布。** player_id-玩家的唯一标识符。** request_payload-调用FBInstant.player.getSignedPlayerInfoAsync时指定的requestPayload字符串。
$payload = base64_decode($second_part);
echo $payload;
// Output:
{"algorithm":"HMAC-SHA256","issued_at":1552255768,"player_id":"2059189060823983","request_payload":"pdata"}
Run Code Online (Sandbox Code Playgroud)
4)使用HMAC SHA-256和您的应用程序密码来散列整个响应有效负载字符串,并确认它等于编码后的签名。
$check = hash_hmac('sha256', $payload, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', true);
echo $check;
// Output:
n4Q?K?`<???????tT?~x????L?
Run Code Online (Sandbox Code Playgroud)
我已经花了几个小时,无法弄清楚我在做什么错!