小编dav*_*vid的帖子

令牌如何防止csrf攻击?

我已经阅读了CSRF以及如何使用不可预测的同步器令牌模式来防止它.我不太明白它是如何工作的.

我们来看看这个场景:

用户使用以下格式登录网站:

<form action="changePassword" method="POST">
   <input type="text" name="password"><br>
   <input type="hidden" name="token" value='asdjkldssdk22332nkadjf' >
</form>
Run Code Online (Sandbox Code Playgroud)

服务器还将令牌存储在会话中.发送请求时,它会将表单数据中的标记与会话中的标记进行比较.

当黑客可以编写以下代码的JavaScript代码时,如何防止CSRF:

  1. 向网站发送GET请求
  2. 接收包含请求表单的html文本.
  3. 在html文本中搜索CSRF令牌.
  4. 使用该令牌发出恶意请求.

我错过了什么?

javascript security csrf csrf-protection

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

怎么打开html文件?

我有html文件称test.html它有一个字?????.

我打开test.html并使用以下代码块打印它的内容:

file = open("test.html", "r")
print file.read()
Run Code Online (Sandbox Code Playgroud)

但它打印??????,为什么会发生这种情况,我该如何解决?

BTW.当我打开文本文件时它很好用.

编辑:我试过这个:

>>> import codecs
>>> f = codecs.open("test.html",'r')
>>> print f.read()
?????
Run Code Online (Sandbox Code Playgroud)

python character-encoding python-2.7

19
推荐指数
5
解决办法
11万
查看次数

如何在键盘出现时按下recylerView?

我想像whatsapp一样构建消息布局.我有一个edittext和一个recylerView.

问题是键盘出现时隐藏了消息!

所以,让我们说这是RecylerView:

---item 1---  
---item 2---  
---item 3---  
---item 4---  
---EditText---
Run Code Online (Sandbox Code Playgroud)

当键盘出现时,我明白了:

---item 1---  
---item 2---  
---EditText---
---Keyboard---  
Run Code Online (Sandbox Code Playgroud)

但我想得到这个:

---item 3---  
---item 4---  
---EditText---
---Keyboard---
Run Code Online (Sandbox Code Playgroud)

注意:当我设置linearLayoutManager.setStackFromEnd(true);它有效但当有一条消息它出现在页面的底部时.

android adjustpan android-recyclerview

17
推荐指数
2
解决办法
7003
查看次数

如果没有声明LSApplicationQueriesSchemes,facebook app链接如何工作?

在iOS 9中,应用程序无法用于canOpenURL检查是否安装了应用程序.

如果您的(iOS 9.0或更高版本)应用程序使用您尚未声明的方案调用此方法,则无论设备上是否安装了适用于该方案的应用程序,该方法都将返回false.

但我想知道如果没有安装应用程序,facebook app如何成功将用户引导到appstore,或者如果安装了目标应用程序则打开目标应用程序!

facebook无法列出LSApplicationQueriesSchemes中的所有应用程序!

谢谢

url-scheme ios ios9

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

如何更改Android评级栏明星?

我试图通过创建新风格来改变我的评级栏中的星星,这就是我所做的:

<style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator">
        <item name="android:progressDrawable">@drawable/rating_bar</item>
        <item name="android:minHeight">36dp</item>
        <item name="android:maxHeight">36dp</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

绘制/ rating_bar:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/rating_star_empty" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/rating_star_empty" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/rating_star_filled" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

评级栏xml视图:

<RatingBar
                    android:id="@+id/ratingBar"
                    style="@style/RatingBarSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0"
                    android:isIndicator="true"
                    android:rating="5" />
Run Code Online (Sandbox Code Playgroud)

这是两个图像:

rating_star_empty rating_star_filled

但我不知道为什么我在星空下有垂直线,你可以在下面的图片中看到: 在此输入图像描述

编辑:已解决:我只是将评级栏高度设置为图像高度.

谢谢

layout android android-layout ratingbar android-bitmap

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

为什么aws.phar运行一次然后不会再次加载?

我在使用phar文件的弹性beanstalk应用程序中为php安装了aws sdk:

require_once __DIR__ . '/../AWS-SDK/aws.phar';
Run Code Online (Sandbox Code Playgroud)

当我第一次运行脚本时,它成功了!但是当我再试一次时,我收到了这个错误:

Warning: require(phar://aws.phar/aws-autoloader.php): failed to open stream: phar error: invalid url or non-existent phar "phar://aws.phar/aws-autoloader.php" in /var/app/current/src/utils/AWS-SDK/aws.phar on line 3 Fatal error: require(): Failed opening required 'phar://aws.phar/aws-autoloader.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/app/current/src/utils/AWS-SDK/aws.phar on line 3
Run Code Online (Sandbox Code Playgroud)

如何解决问题?

php amazon-web-services phar aws-php-sdk amazon-elastic-beanstalk

8
推荐指数
2
解决办法
2463
查看次数

如何搜索文字?(MySQL的)

我有这张桌子:

bussId    |      nameEn        |          keywords
  500          name1 name2             keyword1 keyword2
Run Code Online (Sandbox Code Playgroud)

如果用户搜索(keyword1或keyword2或name2或name1),我想返回bussId 5000.所以我应该使用这个查询SELECT * FROM business WHERE nameEn LIKE '%searched_word%'.但是index nameEn or keywords根据B-Tree和Hash Indexes的比较,这个查询不使用"如果参数to LIKE是一个不以通配符开头的常量字符串,那么索引也可以用于LIKE比较".

我有这个解决方案,我想创建另一个表并插入所有单个单词:

bussId |  word
  500        name1
  500        name2
  500        keyword1
  500        keyword2
Run Code Online (Sandbox Code Playgroud)

然后我将使用此查询搜索bussId:
SELECT * WHERE word LIKE 'searched_word%'.

通过这种方式,我将确保MySQL将使用索引,它会更快,但这个表将包含大约2000万行!

还有其他解决方案吗?

mysql sql search

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

如何将NSDictionary转换为字典?

我已经更新到XCode 8,现在我需要将我的代码从Swift 2转换为Swift 3.

以前,当我想转换NSDictionaryDictionary,我只是写了以下内容:

let post_paramsValue = post_params as? Dictionary<String,AnyObject?>
Run Code Online (Sandbox Code Playgroud)

哪里post_paramsNSDictionary.

但是现在使用Swift 3,我收到了这个错误:

NSDictionary is not convertible to Dictionary
Run Code Online (Sandbox Code Playgroud)

为什么?改变了什么?


编辑1

我也尝试过以下方法:

let post_paramsValue = post_params as Dictionary<String,Any>
Run Code Online (Sandbox Code Playgroud)

但是这给出了这个错误:

'NSDictionary的!'  不能转换为'Dictionary <String,Any>';  你的意思是使用<code>NSDictionary</code>而不是<code>NSDictionary!</code>,但它不起作用; 我收到了这个错误:</p>

<p><a rel='NSDictionary'不能转换为'Dictionary <String,Any>';  你的意思是使用<code> as!</ code>强制转发?


编辑3

我也尝试过以下方法:

let post_paramsValue =  post_params as Dictionary<String,Any>
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

'NSDictionary的!'  不能转换为'Dictionary <String,Any>!';  你的意思是使用<code> as!</ code>强制转发?

dictionary nsdictionary swift objective-c-swift-bridge

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

AWS Elastic Beanstalk:环境和应用程序有什么区别?

我有两个客户端的应用程序:Web和移动(Android和iOS).

我应该创建:

  1. 两个应用程序(Web和移动),每个应用程序一个环境
  2. 一个应用程序有两个环境(Web和移动)

什么是最好的选择?

amazon-web-services amazon-elastic-beanstalk

7
推荐指数
2
解决办法
1018
查看次数

获取realPath在android marshmallow上返回null?

我正在使用此函数从uri获取图像路径:

 private static String getRealPathFromURI(Context context, Uri contentUri) {
        Cursor cursor = null;
        try {
            String[] proj = {MediaStore.Images.Media.DATA};
            cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

版本<23时,上述功能正常.但它与android marshmallow返回null?

I am using emulator nexus 4 with android 6.0 x86_64
Run Code Online (Sandbox Code Playgroud)

模拟器具有存储权限.

可能是什么问题?

android uri realpath android-6.0-marshmallow

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